1,加固后补丁应用失败。解决方法:修改配置文件isProtectedApp = true
2,运行“buildTinkerPatchRelease”生成补丁包时报错:
java.io.FileNotFoundException: build\intermediates\tinker_intermediates\values_backup
解决方法:(记得先备份基准包)build -> clean project,重新执行就好了。如果基准包在build目录下会被清掉,这种情况重新拷贝过去一份再执行就行了。
3,implementation 'com.android.support:appcompat-v7:28.0.0'这个版本过高也会引起问题,建议改成26或27(个别现象)
4,基准包升级后再升级问题:假设基准包是v1,此时我发布了针对基准包的热更新补丁,升级后版本为v2。到这里是没有疑问的。
但如果此时我想把线上版本升级到v3,该如何操作?线上有些用户更新到了v2版,有些用户仍然是v1,如何让他们都升级成v3?
按之前的升级思路,我又发布了一般v2到v3的补丁包,但是线上v2版没有任何反应;然后我又发布了v1到v3的补丁包,此时再启动v2版触发了热更新,升级到了v3版本。
所以bugly后台上传的补丁应该是这种(只保持一个就够了):
v1 -> vn
而不应该是这种(错误示范):
v1->v2
v2->v3
v3->v4
...
v(n-1)->vn