中文说明
Tinker是用于Android的热点解决方案库,它支持DEX,库和资源更新而无需重新安装APK。
在您的主要build.gradle
中添加Tinker-Gradle-Plugin作为依赖性。
buildscript {
dependencies {
classpath ( ' com.tencent.tinker:tinker-patch-gradle-plugin:1.9.1 ' )
}
}
然后,您需要“应用”插件,并通过将以下行添加到app/build.gradle
来添加依赖项。
dependencies {
// optional, help to generate the final application
provided( ' com.tencent.tinker:tinker-android-anno:1.9.1 ' )
// tinker's main Android lib
compile( ' com.tencent.tinker:tinker-android-lib:1.9.1 ' )
}
.. .
.. .
apply plugin : ' com.tencent.tinker.patch '
如果您的应用程序具有子类Android.App.Application的类,则需要修改该类,并将其所有工具移动到SampleApplicationlike而不是应用程序:
- public class YourApplication extends Application {
+ public class SampleApplicationLike extends DefaultApplicationLike {
现在,您应该更改Application
类,使其成为TinkerApplication的子类。从其API中可以看到,它是一个没有默认构造函数的抽象类,因此您必须定义一个no-arg构造函数:
public class SampleApplication extends TinkerApplication {
public SampleApplication () {
super (
//tinkerFlags, which types is supported
//dex only, library only, all support
ShareConstants . TINKER_ENABLE_ALL ,
// This is passed as a string so the shell application does not
// have a binary dependency on your ApplicationLifeCycle class.
"tinker.sample.android.app.SampleApplicationLike" );
}
}
建议使用tinker-android-anno
生成您的Application
,您只需要为SampleApplicationlike类添加注释
@ DefaultLifeCycle (
application = "tinker.sample.android.app.SampleApplication" , //application name to generate
flags = ShareConstants . TINKER_ENABLE_ALL ) //tinkerFlags above
public class SampleApplicationLike extends DefaultApplicationLike
如何安装修补匠?在样本样本样中了解更多信息。
对于Proguard,我们已经制作了Proguard Config Automatic,Tinker还将为您生成Multidex Keep Proguard文件。
有关更多修补程序配置,请在示例应用程序/build.gradle上了解更多信息。
如何在方舟上运行修补匠?
只需使用以下命令:
bash build_patch_dexdiff.sh old=xxx new=xxx
old
表示使用错误new
表示Android APK的绝对路径(未由ARK编译)和修复补丁文件包装在APK中。
托多
目前,它是由方舟编译团队编辑的。输出补丁仍以APK格式打包,而无需签名。
对于Tinker-CLI,将以下行添加到tinker_config.xml
中。否则,将使用默认配置。
< issue id = " arkHot " >
< path value = " arkHot " /> // path of patch
< name value = " patch.apk " /> // name of patch
</ issue >
对于Gradle,将以下行添加到您的app/build.gradle
中。否则,将使用默认配置。
ark {
path = " arkHot " // path of patch
name = " patch.apk " // name of patch
}
该贴片由方舟编译并放在上述路径上。随后的所有操作与Tinker-CLI或Gradle相同。
最终的补丁APK由两个补丁文件组成:
classes.dex
for androidpatch.apk
with so s for ark。 有一些问题无法动态更新。
有问题吗?
有关贡献问题或提取请求的更多信息,请参见我们的Tinker贡献指南。
Tinker属于BSD许可。有关详细信息,请参见许可证文件。