Skip to content
体验新版
项目
组织
正在加载...
登录
切换导航
打开侧边栏
DiDi
DoraemonKit
提交
aff08b2a
D
DoraemonKit
项目概览
DiDi
/
DoraemonKit
10 个月 前同步成功
通知
166
Star
19623
Fork
3062
代码
文件
提交
分支
Tags
贡献者
分支图
Diff
Issue
0
列表
看板
标记
里程碑
合并请求
0
Wiki
0
Wiki
分析
仓库
DevOps
项目成员
Pages
D
DoraemonKit
项目概览
项目概览
详情
发布
仓库
仓库
文件
提交
分支
标签
贡献者
分支图
比较
Issue
0
Issue
0
列表
看板
标记
里程碑
合并请求
0
合并请求
0
Pages
分析
分析
仓库分析
DevOps
Wiki
0
Wiki
成员
成员
收起侧边栏
关闭侧边栏
动态
分支图
创建新Issue
提交
Issue看板
前往新版Gitcode,体验更适合开发者的 AI 搜索 >>
提交
aff08b2a
编写于
4月 23, 2020
作者:
J
jackjintai
浏览文件
操作
浏览文件
下载
电子邮件补丁
差异文件
android:add dokit sdk v3.1.4
上级
4ee54881
变更
14
隐藏空白更改
内联
并排
Showing
14 changed file
with
136 addition
and
53 deletion
+136
-53
Android/app/src/main/java/com/didichuxing/doraemondemo/SecondActivity.kt
.../main/java/com/didichuxing/doraemondemo/SecondActivity.kt
+4
-6
Android/build.gradle
Android/build.gradle
+6
-6
Android/config.gradle
Android/config.gradle
+4
-4
Android/doraemonkit-plugin/src/main/groovy/com/didichuxing/doraemonkit/plugin/bytecode/DokitCommClassAdapter.java
...ng/doraemonkit/plugin/bytecode/DokitCommClassAdapter.java
+12
-4
Android/doraemonkit-plugin/src/main/groovy/com/didichuxing/doraemonkit/plugin/bytecode/method/comm/OkHttpNullConsMethodAdapter.java
...gin/bytecode/method/comm/OkHttpNullConsMethodAdapter.java
+4
-5
Android/doraemonkit-plugin/src/main/groovy/com/didichuxing/doraemonkit/plugin/bytecode/method/comm/OkHttpOneParamConsMethodAdapter.java
...bytecode/method/comm/OkHttpOneParamConsMethodAdapter.java
+27
-0
Android/doraemonkit/src/main/java/com/didichuxing/doraemonkit/aop/OkHttpHook.java
...main/java/com/didichuxing/doraemonkit/aop/OkHttpHook.java
+39
-0
Android/doraemonkit/src/main/java/com/didichuxing/doraemonkit/kit/core/NormalDokitViewManager.java
...ichuxing/doraemonkit/kit/core/NormalDokitViewManager.java
+11
-6
Android/doraemonkit/src/main/java/com/didichuxing/doraemonkit/kit/layoutborder/LayoutLevelDokitView.java
...ng/doraemonkit/kit/layoutborder/LayoutLevelDokitView.java
+1
-1
Doc/android-ReleaseNotes.md
Doc/android-ReleaseNotes.md
+7
-0
Doc/android_cn_guide.md
Doc/android_cn_guide.md
+8
-8
Doc/android_en_guide.md
Doc/android_en_guide.md
+8
-8
README.md
README.md
+4
-4
README_CN.md
README_CN.md
+1
-1
未找到文件。
Android/app/src/main/java/com/didichuxing/doraemondemo/SecondActivity.kt
浏览文件 @
aff08b2a
package
com.didichuxing.doraemondemo
import
android.os.Bundle
import
android.view.View
import
androidx.appcompat.app.AppCompatActivity
import
com.blankj.utilcode.util.ToastUtils
import
com.didichuxing.doraemonkit.DoraemonKit
import
kotlinx.android.synthetic.main.activity_second.*
class
SecondActivity
:
AppCompatActivity
()
{
override
fun
onCreate
(
savedInstanceState
:
Bundle
?)
{
super
.
onCreate
(
savedInstanceState
)
setContentView
(
R
.
layout
.
activity_second
)
findViewById
<
View
>(
R
.
id
.
tv
).
setOnClickListener
{
ToastUtils
.
showShort
(
"aaaaa"
)
ToastUtils
.
showShort
(
"bbbbb"
)
//DoraemonKit.show();
tv
.
setOnClickListener
{
DoraemonKit
.
show
();
}
}
}
\ No newline at end of file
Android/build.gradle
浏览文件 @
aff08b2a
...
...
@@ -9,7 +9,7 @@ buildscript {
classpath
'com.android.tools.build:gradle:3.6.2'
classpath
'com.novoda:bintray-release:0.9.2'
classpath
"com.didichuxing.doraemonkit:doraemonkit-plugin:${rootProject.ext.android["
pluginVersionName
"]}"
// classpath "com.didichuxing.doraemonkit:doraemonkit-plugin:3.1.
2
"
// classpath "com.didichuxing.doraemonkit:doraemonkit-plugin:3.1.
3
"
classpath
"org.jetbrains.kotlin:kotlin-gradle-plugin:${rootProject.ext.android["
kotlin_version
"]}"
// NOTE: Do not place your application dependencies here; they belong
// in the individual module build.gradle files
...
...
@@ -29,9 +29,9 @@ task clean(type: Delete) {
}
//解决打包时由于javadocRelease校验引起的打包失败
tasks
.
getByPath
(
":doraemonkit:javadocRelease"
).
enabled
=
false
tasks
.
getByPath
(
":doraemonkit-no-op:javadocRelease"
).
enabled
=
false
tasks
.
getByPath
(
":doraemonkit-leakcanary:javadocRelease"
).
enabled
=
false
tasks
.
getByPath
(
":doraemonkit-weex:javadocRelease"
).
enabled
=
false
tasks
.
getByPath
(
":doraemonkit-weex-no-op:javadocRelease"
).
enabled
=
false
//
tasks.getByPath(":doraemonkit:javadocRelease").enabled = false
//
tasks.getByPath(":doraemonkit-no-op:javadocRelease").enabled = false
//
tasks.getByPath(":doraemonkit-leakcanary:javadocRelease").enabled = false
//
tasks.getByPath(":doraemonkit-weex:javadocRelease").enabled = false
//
tasks.getByPath(":doraemonkit-weex-no-op:javadocRelease").enabled = false
//tasks.getByPath(":doraemonkit-rpc:javadocRelease").enabled = false
Android/config.gradle
浏览文件 @
aff08b2a
...
...
@@ -15,14 +15,14 @@ ext {
minSdkVersion
:
16
,
targetSdkVersion
:
29
,
//app版本号
versionCode
:
31
3
,
versionCode
:
31
4
,
//dokit 插件版本号
pluginVersionName
:
"3.1.
3
"
,
pluginVersionName
:
"3.1.
4
"
,
//jcenter dokit版本号 打包上传时 dokit的版本名字
jcenterArchivesVersionName:
"3.1.
3
"
,
jcenterArchivesVersionName:
"3.1.
4
"
,
//didi内部仓库版本号
didiArchivesVersionName
:
"1000.0.22"
,
versionName
:
"3.1.
3
"
,
versionName
:
"3.1.
4
"
,
glide_version
:
"4.9.0"
,
kotlin_version
:
"1.3.61"
]
...
...
Android/doraemonkit-plugin/src/main/groovy/com/didichuxing/doraemonkit/plugin/bytecode/DokitCommClassAdapter.java
浏览文件 @
aff08b2a
...
...
@@ -4,7 +4,8 @@ import com.didichuxing.doraemonkit.plugin.DokitExtUtil;
import
com.didichuxing.doraemonkit.plugin.bytecode.method.comm.AmapLocationMethodAdapter
;
import
com.didichuxing.doraemonkit.plugin.bytecode.method.comm.BaiduLocationMethodAdapter
;
import
com.didichuxing.doraemonkit.plugin.bytecode.method.comm.FlagMethodAdapter
;
import
com.didichuxing.doraemonkit.plugin.bytecode.method.comm.OkHttpMethodAdapter
;
import
com.didichuxing.doraemonkit.plugin.bytecode.method.comm.OkHttpNullConsMethodAdapter
;
import
com.didichuxing.doraemonkit.plugin.bytecode.method.comm.OkHttpOneParamConsMethodAdapter
;
import
com.didichuxing.doraemonkit.plugin.bytecode.method.comm.PlatformHttpMethodAdapter
;
import
com.didichuxing.doraemonkit.plugin.bytecode.method.comm.TencentLocationMethodAdapter
;
import
com.didichuxing.doraemonkit.plugin.bytecode.method.comm.TencentLocationSingleMethodAdapter
;
...
...
@@ -114,11 +115,18 @@ public final class DokitCommClassAdapter extends ClassVisitor {
}
//okhttp 拦截器字节码替换
if
(
className
.
equals
(
"okhttp3/OkHttpClient$Builder"
)
&&
methodName
.
equals
(
"<init>"
))
{
//okhttp 拦截器字节码替换
空构造函数
if
(
className
.
equals
(
"okhttp3/OkHttpClient$Builder"
)
&&
methodName
.
equals
(
"<init>"
)
&&
getParamsSize
(
desc
)
==
0
)
{
//创建MethodVisitor代理
log
(
className
,
access
,
methodName
,
desc
,
signature
);
return
mv
==
null
?
null
:
new
OkHttpMethodAdapter
(
access
,
desc
,
mv
);
return
mv
==
null
?
null
:
new
OkHttpNullConsMethodAdapter
(
access
,
desc
,
mv
);
}
//okhttp 拦截器字节码替换 一个参数的构造函数
if
(
className
.
equals
(
"okhttp3/OkHttpClient$Builder"
)
&&
methodName
.
equals
(
"<init>"
)
&&
getParamsSize
(
desc
)
==
1
)
{
//创建MethodVisitor代理
log
(
className
,
access
,
methodName
,
desc
,
signature
);
return
mv
==
null
?
null
:
new
OkHttpOneParamConsMethodAdapter
(
mv
,
access
,
methodName
,
desc
);
}
//didi平台端 网络 拦截器字节码替换
...
...
Android/doraemonkit-plugin/src/main/groovy/com/didichuxing/doraemonkit/plugin/bytecode/method/comm/OkHttpMethodAdapter.java
→
Android/doraemonkit-plugin/src/main/groovy/com/didichuxing/doraemonkit/plugin/bytecode/method/comm/OkHttp
NullCons
MethodAdapter.java
浏览文件 @
aff08b2a
...
...
@@ -5,15 +5,14 @@ import org.objectweb.asm.Opcodes;
import
org.objectweb.asm.commons.LocalVariablesSorter
;
/**
* Only weave okhttp3/OkHttpClient's init method
* Created by Quinn on 09/09/2018.
* Only weave okhttp3/OkHttpClient's null init method
*/
public
final
class
OkHttpMethodAdapter
extends
LocalVariablesSorter
implements
Opcodes
{
public
final
class
OkHttp
NullCons
MethodAdapter
extends
LocalVariablesSorter
implements
Opcodes
{
//private static final LoggerWrapper logger = LoggerWrapper.getLogger(OkHttpMethodAdapter.class);
public
OkHttpMethodAdapter
(
int
access
,
String
desc
,
MethodVisitor
mv
)
{
public
OkHttp
NullCons
MethodAdapter
(
int
access
,
String
desc
,
MethodVisitor
mv
)
{
super
(
Opcodes
.
ASM7
,
access
,
desc
,
mv
);
}
...
...
@@ -28,7 +27,7 @@ public final class OkHttpMethodAdapter extends LocalVariablesSorter implements O
mv
.
visitMethodInsn
(
INVOKEINTERFACE
,
"java/util/List"
,
"addAll"
,
"(Ljava/util/Collection;)Z"
,
true
);
mv
.
visitInsn
(
POP
);
//插入
application
网络拦截器
//插入
NetworkInterceptor
网络拦截器
mv
.
visitVarInsn
(
ALOAD
,
0
);
mv
.
visitFieldInsn
(
GETFIELD
,
"okhttp3/OkHttpClient$Builder"
,
"networkInterceptors"
,
"Ljava/util/List;"
);
mv
.
visitFieldInsn
(
GETSTATIC
,
"com/didichuxing/doraemonkit/aop/OkHttpHook"
,
"globalNetworkInterceptors"
,
"Ljava/util/List;"
);
...
...
Android/doraemonkit-plugin/src/main/groovy/com/didichuxing/doraemonkit/plugin/bytecode/method/comm/OkHttpOneParamConsMethodAdapter.java
0 → 100644
浏览文件 @
aff08b2a
package
com.didichuxing.doraemonkit.plugin.bytecode.method.comm
;
import
org.objectweb.asm.MethodVisitor
;
import
org.objectweb.asm.Opcodes
;
import
org.objectweb.asm.commons.AdviceAdapter
;
import
org.objectweb.asm.commons.LocalVariablesSorter
;
/**
* Only weave okhttp3/OkHttpClient's one param init method
*/
public
final
class
OkHttpOneParamConsMethodAdapter
extends
AdviceAdapter
{
//private static final LoggerWrapper logger = LoggerWrapper.getLogger(OkHttpMethodAdapter.class);
public
OkHttpOneParamConsMethodAdapter
(
MethodVisitor
methodVisitor
,
int
access
,
String
methodName
,
String
descriptor
)
{
super
(
Opcodes
.
ASM7
,
methodVisitor
,
access
,
methodName
,
descriptor
);
}
@Override
protected
void
onMethodExit
(
int
opcode
)
{
super
.
onMethodExit
(
opcode
);
mv
.
visitVarInsn
(
ALOAD
,
0
);
mv
.
visitVarInsn
(
ALOAD
,
1
);
mv
.
visitMethodInsn
(
INVOKESTATIC
,
"com/didichuxing/doraemonkit/aop/OkHttpHook"
,
"performOkhttpOneParamBuilderInit"
,
"(Ljava/lang/Object;Ljava/lang/Object;)V"
,
false
);
}
}
Android/doraemonkit/src/main/java/com/didichuxing/doraemonkit/aop/OkHttpHook.java
浏览文件 @
aff08b2a
package
com.didichuxing.doraemonkit.aop
;
import
android.util.Log
;
import
com.blankj.utilcode.util.ReflectUtils
;
import
com.didichuxing.doraemonkit.kit.network.okhttp.interceptor.DoraemonInterceptor
;
import
com.didichuxing.doraemonkit.kit.network.okhttp.interceptor.DoraemonWeakNetworkInterceptor
;
import
com.didichuxing.doraemonkit.kit.network.okhttp.interceptor.LargePictureInterceptor
;
import
com.didichuxing.doraemonkit.kit.network.okhttp.interceptor.MockInterceptor
;
import
java.util.ArrayList
;
import
java.util.LinkedHashSet
;
import
java.util.List
;
import
okhttp3.Interceptor
;
import
okhttp3.OkHttpClient
;
/**
* ================================================
...
...
@@ -55,6 +60,40 @@ public class OkHttpHook {
}
catch
(
Exception
e
)
{
e
.
printStackTrace
();
}
}
/**
* @param builder 真实的对象为okHttpClient.Builder
* @param okHttpClient 真实的对象为okHttpClient
*/
public
static
void
performOkhttpOneParamBuilderInit
(
Object
builder
,
Object
okHttpClient
)
{
try
{
if
(
builder
instanceof
OkHttpClient
.
Builder
)
{
OkHttpClient
.
Builder
localBuild
=
(
OkHttpClient
.
Builder
)
builder
;
List
<
Interceptor
>
interceptors
=
removeDuplicate
(
localBuild
.
interceptors
());
List
<
Interceptor
>
networkInterceptors
=
removeDuplicate
(
localBuild
.
networkInterceptors
());
ReflectUtils
.
reflect
(
localBuild
).
field
(
"interceptors"
,
interceptors
);
ReflectUtils
.
reflect
(
localBuild
).
field
(
"networkInterceptors"
,
networkInterceptors
);
}
}
catch
(
Exception
e
)
{
Log
.
i
(
"Doraemon"
,
""
+
e
.
getMessage
());
}
}
/**
* 保证顺序并去重
*
* @param list
* @return
*/
private
static
List
<
Interceptor
>
removeDuplicate
(
List
<
Interceptor
>
list
)
{
//保证顺序并去重
LinkedHashSet
h
=
new
LinkedHashSet
<
Interceptor
>(
list
);
list
.
clear
();
list
.
addAll
(
h
);
return
list
;
}
}
Android/doraemonkit/src/main/java/com/didichuxing/doraemonkit/kit/core/NormalDokitViewManager.java
浏览文件 @
aff08b2a
...
...
@@ -409,13 +409,18 @@ class NormalDokitViewManager implements DokitViewManagerInterface {
dokitRootView
.
requestFocus
();
dokitRootView
.
setId
(
R
.
id
.
dokit_contentview_id
);
FrameLayout
.
LayoutParams
dokitParams
=
new
FrameLayout
.
LayoutParams
(
ViewGroup
.
LayoutParams
.
MATCH_PARENT
,
ViewGroup
.
LayoutParams
.
MATCH_PARENT
);
if
(
BarUtils
.
isStatusBarVisible
(
activity
))
{
dokitParams
.
topMargin
=
BarUtils
.
getStatusBarHeight
();
}
if
(
BarUtils
.
isSupportNavBar
())
{
if
(
BarUtils
.
isNavBarVisible
(
activity
))
{
dokitParams
.
bottomMargin
=
BarUtils
.
getNavBarHeight
();
try
{
//解决由于项目集成SwipeBackLayout而出现的dokit入口不显示
if
(
BarUtils
.
isStatusBarVisible
(
activity
))
{
dokitParams
.
topMargin
=
BarUtils
.
getStatusBarHeight
();
}
if
(
BarUtils
.
isSupportNavBar
())
{
if
(
BarUtils
.
isNavBarVisible
(
activity
))
{
dokitParams
.
bottomMargin
=
BarUtils
.
getNavBarHeight
();
}
}
}
catch
(
Exception
e
)
{
//e.printStackTrace();
}
dokitRootView
.
setLayoutParams
(
dokitParams
);
//添加到DecorView中 为了不和用户自己往根布局中添加view干扰
...
...
Android/doraemonkit/src/main/java/com/didichuxing/doraemonkit/kit/layoutborder/LayoutLevelDokitView.java
浏览文件 @
aff08b2a
...
...
@@ -81,7 +81,7 @@ public class LayoutLevelDokitView extends AbsDokitView {
if
(
appContentView
.
toString
().
contains
(
"SwipeBackLayout"
))
{
LogHelper
.
i
(
TAG
,
"普通模式下布局层级功能暂不支持以SwipeBackLayout为根布局,请改用系统模式"
);
ToastUtils
.
show
Short
(
"普通模式下布局层级功能暂不支持以SwipeBackLayout为根布局"
);
ToastUtils
.
show
Long
(
"普通模式下布局层级功能暂不支持以SwipeBackLayout为根布局"
);
return
;
}
...
...
Doc/android-ReleaseNotes.md
浏览文件 @
aff08b2a
DoraemonKit-Android releases
===
## 3.1.4
1.
DoKit项目结构调整,对外暴露的api已全部移到com.didichuxing.doraemonkit.kit.core包名下,如果你有自定义Kit,请重新引入一下包名
2.
修复okhttp拦截器被重复调用的问题
3.
github issues fixed
## 3.1.3
1.
DoKit项目结构调整,对外暴露的api已全部移到com.didichuxing.doraemonkit.kit.core包名下,如果你有自定义Kit,请重新引入一下包名
...
...
Doc/android_cn_guide.md
浏览文件 @
aff08b2a
...
...
@@ -4,15 +4,15 @@
|DoKit|最新版本|描述|
|-|-|-|-|
|支持Androidx|3.1.
3
|从v3.1.0版本开始支持androidx
|支持Androidx|3.1.
4
|从v3.1.0版本开始支持androidx
|支持android support|3.0.5|该版本为支持Android support的最后一个版本,后期也将不在提供维护,请大家尽快升级和适配Androidx
```
groovy
dependencies
{
…
debugImplementation
'com.didichuxing.doraemonkit:doraemonkit:3.1.
3
'
releaseImplementation
'com.didichuxing.doraemonkit:doraemonkit-no-op:3.1.
3
'
debugImplementation
'com.didichuxing.doraemonkit:doraemonkit:3.1.
4
'
releaseImplementation
'com.didichuxing.doraemonkit:doraemonkit-no-op:3.1.
4
'
…
}
```
...
...
@@ -20,7 +20,7 @@ dependencies {
假如你无法通过 jcenter 下载到依赖库并报了以下的错误
```
ERROR: Failed to resolve: com.didichuxing.doraemonkit:doraemonkit:3.1.
3
ERROR: Failed to resolve: com.didichuxing.doraemonkit:doraemonkit:3.1.
4
```
建议你可以尝试挂载VPN或通过命令行重试(以Mac系统为例 项目根目录下)
...
...
@@ -44,8 +44,8 @@ DoraemonKit目前已支持Weex工具,包括
```
groovy
dependencies
{
…
debugImplementation
'com.didichuxing.doraemonkit:doraemonkit-weex:3.1.
3
'
releaseImplementation
'com.didichuxing.doraemonkit:doraemonkit-weex-no-op:3.1.
3
'
debugImplementation
'com.didichuxing.doraemonkit:doraemonkit-weex:3.1.
4
'
releaseImplementation
'com.didichuxing.doraemonkit:doraemonkit-weex-no-op:3.1.
4
'
…
}
```
...
...
@@ -55,7 +55,7 @@ dependencies {
```
groovy
dependencies
{
…
debugImplementation
'com.didichuxing.doraemonkit:doraemonkit-leakcanary:3.1.
3
'
debugImplementation
'com.didichuxing.doraemonkit:doraemonkit-leakcanary:3.1.
4
'
…
}
```
...
...
@@ -97,7 +97,7 @@ AOP包括以下几个功能:
buildscript
{
dependencies
{
…
classpath
'com.didichuxing.doraemonkit:doraemonkit-plugin:3.1.
3
'
classpath
'com.didichuxing.doraemonkit:doraemonkit-plugin:3.1.
4
'
…
// NOTE: Do not place your application dependencies here; they belong
// in the individual module build.gradle files
...
...
Doc/android_en_guide.md
浏览文件 @
aff08b2a
...
...
@@ -2,7 +2,7 @@
|DoKit|new Version|Desc|
|- |- |- |
|support Androidx|3.1.
3
|support Androidx from v3.1.0|
|support Androidx|3.1.
4
|support Androidx from v3.1.0|
|supprot android support|3.0.3|For support Android support, one or two versions will be maintained, please hug Androidx as soon as possible|
...
...
@@ -10,8 +10,8 @@
```
groovy
dependencies
{
debugImplementation
'com.didichuxing.doraemonkit:doraemonkit:3.1.
3
'
releaseImplementation
'com.didichuxing.doraemonkit:doraemonkit-no-op:3.1.
3
'
debugImplementation
'com.didichuxing.doraemonkit:doraemonkit:3.1.
4
'
releaseImplementation
'com.didichuxing.doraemonkit:doraemonkit-no-op:3.1.
4
'
}
```
...
...
@@ -21,7 +21,7 @@ dependencies {
If you cannot download the dependent library through jcenter and report the following error
```
ERROR: Failed to resolve: com.didichuxing.doraemonkit:doraemonkit:3.1.
3
ERROR: Failed to resolve: com.didichuxing.doraemonkit:doraemonkit:3.1.
4
```
You can try again from the command line (take Mac system as an example under the project root directory)
...
...
@@ -47,8 +47,8 @@ If you need to support Weex, you can directly add the following dependencies
```
groovy
dependencies
{
…
debugImplementation
'com.didichuxing.doraemonkit:doraemonkit-weex:3.1.
3
'
releaseImplementation
'com.didichuxing.doraemonkit:doraemonkit-weex-no-op:3.1.
3
'
debugImplementation
'com.didichuxing.doraemonkit:doraemonkit-weex:3.1.
4
'
releaseImplementation
'com.didichuxing.doraemonkit:doraemonkit-weex-no-op:3.1.
4
'
…
}
```
...
...
@@ -58,7 +58,7 @@ If you need to integrate LeakCanary, you can directly add the following dependen
```
groovy
dependencies
{
…
debugImplementation
'com.didichuxing.doraemonkit:doraemonkit-leakcanary:3.1.
3
'
debugImplementation
'com.didichuxing.doraemonkit:doraemonkit-leakcanary:3.1.
4
'
…
}
```
...
...
@@ -90,7 +90,7 @@ Plugin includes the following functions:
```
groovy
buildscript
{
dependencies
{
classpath
'com.didichuxing.doraemonkit:doraemonkit-plugin:3.1.
3
'
classpath
'com.didichuxing.doraemonkit:doraemonkit-plugin:3.1.
4
'
}
}
...
...
README.md
浏览文件 @
aff08b2a
<div
align=
"center"
>
<img
src=
"https://javer.oss-cn-shanghai.aliyuncs.com/doraemon/github/DoraemonKit_github.png"
width =
"150"
height =
"150"
alt=
"DoraemonKit"
align=
left
/>
<img
src=
"https://img.shields.io/github/license/didi/DoraemonKit.svg"
align=
left
/>
<img
src=
"https://img.shields.io/badge/Android-3.1.
3
-blue.svg"
align=
left
/>
<img
src=
"https://img.shields.io/badge/Android-3.1.
4
-blue.svg"
align=
left
/>
<img
src=
"https://img.shields.io/badge/iOS-3.0.1-yellow.svg"
align=
left
/>
<img
src=
"https://img.shields.io/badge/PRs-welcome-brightgreen.svg"
align=
left
/>
</div>
...
...
@@ -112,7 +112,7 @@ buildscript {
}
dependencies {
classpath 'com.android.tools.build:gradle:3.6.1'
classpath 'com.didichuxing.doraemonkit:doraemonkit-plugin:3.1.
3
'
classpath 'com.didichuxing.doraemonkit:doraemonkit-plugin:3.1.
4
'
}
}
...
...
@@ -125,8 +125,8 @@ apply plugin: 'com.didi.dokit'
and then implementation DoKit SDK
```
debugImplementation "com.didichuxing.doraemonkit:doraemonkit:3.1.
3
"
releaseImplementation "com.didichuxing.doraemonkit:doraemonkit-no-op:3.1.
3
"
debugImplementation "com.didichuxing.doraemonkit:doraemonkit:3.1.
4
"
releaseImplementation "com.didichuxing.doraemonkit:doraemonkit-no-op:3.1.
4
"
```
#### 2、SDK Init
...
...
README_CN.md
浏览文件 @
aff08b2a
<div
align=
"center"
>
<img
src=
"https://javer.oss-cn-shanghai.aliyuncs.com/doraemon/github/DoraemonKit_github.png"
width =
"150"
height =
"150"
alt=
"DoraemonKit"
align=
left
/>
<img
src=
"https://img.shields.io/github/license/didi/DoraemonKit.svg"
align=
left
/>
<img
src=
"https://img.shields.io/badge/Android-3.1.
3
-blue.svg"
align=
left
/>
<img
src=
"https://img.shields.io/badge/Android-3.1.
4
-blue.svg"
align=
left
/>
<img
src=
"https://img.shields.io/badge/iOS-3.0.1-yellow.svg"
align=
left
/>
<img
src=
"https://img.shields.io/badge/miniapp-0.0.1-red.svg"
align=
left
/>
<img
src=
"https://img.shields.io/badge/PRs-welcome-brightgreen.svg"
align=
left
/>
...
...
编辑
预览
Markdown
is supported
0%
请重试
或
添加新附件
.
添加附件
取消
You are about to add
0
people
to the discussion. Proceed with caution.
先完成此消息的编辑!
取消
想要评论请
注册
或
登录