1.什么是热修复
定义:在我们应用上线后出现bug需要及时修复时,不用再发
新的安装包,只需要发布补丁包,在客户无感知下修复掉bug。
2.Tinker的使用
2.1.Tinker是什么
Tinker是微信开源的一个热修复解决方案,支持dex、库和资源更新,无需重新安装apk。
开源地址:https://github.com/Tencent/tinker
2.2.使用Tinker
可以直接使用Tinker,也可以使用腾讯Bugly服务集成Tinker热修复,==后者提供了补丁管理服务。
建议大家根据官方案例工程进行使用,按照Bugly文档由于版本问题会导致无法使用
https://github.com/BuglyDevTeam/Bugly-Android-Demo/tree/master/BuglyHotfixDemo
2.3接入Bugly第一步
检查版本:
根目录下
“build.gradle” classpath 'com.android.tools.build:gradle:3.2.0' gradle/wrapper/gradle-wrapper.properties
distributionUrl=https\://services.gradle.org/distributions/gradle-4.6-all.zip
工程根目录下“build.gradle”文件中添加:
buildscript {
repositories {
jcenter()
}
dependencies {
// tinkersupport插件, 其中lastest.release指拉取最新版本,也可以指定明确版本号,例如1.0.4
classpath "com.tencent.bugly:tinker-support:1.2.0"
}
}
2.4接入Bugly第二步:
在app module的“build.gradle”文件中添加(示例配置):
apply from: 'tinker-support.gradle' dependencies {
implementation 'com.tencent.tinker:tinker-android-lib:1.9.14.10' implementation 'com.tencent.bugly:crashreport_upgrade:1.5.0' }
2.5接入Bugly第三步:
在项目源码中加入:SampleApplication与SampleApplicationLike类!并且将SampleApplication注册进入
AndroidManifest.xml
注意:第二个参数需要改为自己工程中的SampleApplicationLike的包名
SampleApplicationLike#onCreate中:
注意:第二个参数传递自己的appID
Bugly.init(getApplication(), “e0b1ba785f”, true);