前言:bugly毕竟是腾讯维护的,且提供发补丁包的平台,综合考虑后采用bugly来实现APP热更新功能,但是根据文档集成发现各种异常,无奈之下只能下载官方提供的Demo进行对比发现了处处是坑啊。
总结:以上这些异常均是bugly以及tinker存在很大的兼容性问题,对编译环境要求很高,以下是亲测可用的配置
1、thinker对项目环境要求严格,目前以下配置可以成功打包实现热更新功能
(1)gradle版本:gradle-4.6-all
(2)gradle插件版本:3.2.0
(3)bugly的tinker插件版本:1.2.1
(4)anko库版本:0.10.6
(5)multidex版本:2.0.1
(6)bugly版本:1.4.5
(7)tinker版本:1.9.14.6
2、gradle.properties文件中添加如下:
android.enableD8.desugaring=true
android.useDexArchive=true
3、初始化bugly时开启热更新,Beta.enableHotfix=true(默认为false)
4、如果发生class_files.txt找不到异常则在混淆文件中注释掉-dump proguard/class_files.txt
5、支持加固包热更新,但打补丁依赖的base包仍为加固前的安装包