集成tinker热修复,遇到一大堆问题,网上的博客也是不甚清楚,加入tinker官方群,二维码扫显示群不存在。QQ搜索加群全是发小广告的,一个管理和技术的都没有,搞了几天终于成功了,下面踩过的坑给大家说一下解决方案,以便大家快速集成开发。
1.
WARNING: API 'variantOutput.getProcessResources()' is obsolete and has been replaced with 'variantOutput.getProcessResourcesProvider()'.
It will be removed at the end of 2019.
For more information, see https://d.android.com/r/tools/task-configuration-avoidance.
To determine what is calling variantOutput.getProcessResources(), use -Pandroid.debug.obsoleteApi=true on the command line to display a stack trace.
Affected Modules: app
这是tinkerAPI本身代码没有更新问题,有的方法在2019年底停用了,官方给出了警告,但并不影响我们开发,tinker后期应该会进行修复
2.-216 下发补丁不成功
appVersion = "1.0.0" 这个参数的官方注释
/** 注意: 若发布新的全量包, appVersion一定要更新 **/
这个官方注释应该改成 :若发布新的基础安装包, appVersion一定要更新
这个参数必须和补丁的版本一致,我以为发布补丁的时候要改成1.0.1
但是这个参数只有发布新的基础包的时候再更新。
基础包和补丁都保持一样的1.0.0就成功了。
3. 发布版本后没有反应
App版本号与填写的保持一致,我因为填写不一致一致没有下发成功过
4.打包记得打release包,我打debug包没有patch_signed_7zip.apk这个文件,打release包就有了
5.当 TINKER_ENAB 为false时(被自己关闭了),一定要改为true
6.尽量用全量下发,我用开发预览下发一直没有用,用了开发的那个开发者模式打开工具感觉不好用,一次都没有成功过
7.下发后需要等一段时间就,可以设置轮循时间为一个小时(默认3小时)
如果20分钟还是这种情况,就是有问题。(如果成功,一般几分钟就更新了)
下面是成功的情况