一、什么是热修复?
定义:在我们应用上线后出现bug需要及时修复时,不用再发新的安装包,只需要发布补丁包,在客户无感知下修复bug
二、在没有热修复之前怎么做:
我们应该会在本地,把这个bug修复完成之后,然后让我们的应用版本号去加一个1,最后在打包出新版本的apk,发布到应用市场上去进行应用的更新从而完成对某一个bug的修复,那么用户需要去下载你新版本的apk包并且要点击安装从而才能够把他的手机上面安装的老版本的有bug的app更新到新版本。

三、Bugly热更新的配置
1.Tinker的使用
(1)Tinker是什么
Tinker是微信开源的一个热修复解决方案,支持dex、库和资源更新,无需重新安装apk。
(2)开源地址:https://github.com/Tencent/tinker
可以直接使用Tinker,也可以使用腾讯Bugly服务集成Tinker热修复,后者提供了补丁管理服务。<br /> 建议大家根据官方案例工程进行使用,按照Bugly文档由于版本问题会导致无法使用<br /> https://github.com/BuglyDevTeam/Bugly-Android-Demo/tree/master/BuglyHotfixDemo
2.接入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”
}
}
如图所示:
3.在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’
}
如图所示:
4.接入Bugly第三步
在项目源码中加入:SampleApplication与SampleApplicationLike类!并且将SampleApplication注册进入AndroidManifest.xml
注意:第二个参数需要改为自己工程中的SampleApplicationLike的包名
public class SampleApplication extends TinkerApplication{
public SampleApplication(){
super(ShareConstants.TINKER_ENABLE_ALL,
“com.enjoy.hotfixdemo.SampleApplicationLike”,
“com.tencent.tinker.loader.TinkerLoader”,
false,true);
}
}
注意:SampleApplication要注册进清单文件中的application里面为
android:name=”.SampleApplication”
