Tinker 1.9.13 发布了。Tinker 是腾讯开源的 Android 热解决方案库,它支持在不重新安装 apk 的情况下对 dex、library 和 resources 进行更新。
新版更新内容如下:
- 将Patch Apply的重试次数增加到20;
- 将Tinker运行时库对support-annotations的依赖改为compileOnly,避免接入时引入整个appcompat包;
- 修复加固模式下patch无法加载成功的问题;
- 修复Android P下patch无法加载成功的问题;
- 修复后台进程在patch加载时偶尔发生ANR的问题(主进程对patch.info的更新改为先做oat再更新);
- 修复P中因apache类被内联导致的crash;(感谢@lizhangqu)
- 引入shadowJar插件,彻底解决生成的Tinker CLI工具报ClassNotFound的问题。
需要注意,对于主dex中的类数量莫名变大的问题,目前已确定是minSDK=21时AGP启用了native-multidex,导致gradle中配置的maindex list参数被忽略引起的。在找到通用的规避方案之前暂时只能通过给dx附加参数指定main dex class file的方式规避了。
转自 https://www.oschina.net/news/106334/tinker-1-9-13-released