tinker补丁提示成功但未生效问题

最近将项目的gradle和gradle插件升级到最新,tinker也升级到最新,然而发现tinker在部分手机上提示补丁修复成功,但是实际上并没有修复成功的问题。下载官方的demo测试发现是好的,排查了半天,发现是项目中tinker设置了isProtectedApp = true这个属性导致的。
这个属性表示是否开启加固,默认是false,将该值改为false后打补丁就没问题了。

但是我们项目是需要加固的啊!!

要加固的话这个值就得设置成true,不然加固后的包就无法修复。
那为什么设置为true后,补丁就不生效了呢?

原来是我安装的包是未加固的,如果安装的加固的包,就没问题......

也就是,如果你打开了isProtectedApp这个开关,那么需要被修复的包,就得是加固后的。(可是为什么有的手机未加固的包也能生效呢)

梳理一下加固包打补丁的过程

  1. 首先打基准包,这个包要保留下来
  2. 将基准包加固,加固后再重新签名,打渠道包
  3. 发布步骤2生成的包
  4. 线上出现bug啦,需要补丁修复
  5. 找到步骤1的基准包,注意这个包是未加固的,把这个基准包当作old.apk
    6.修复bug,执行打补丁命令,生成补丁
  6. 将补丁上传的公司服务器进行下发

ps:我用的是乐固加固

©著作权归作者所有,转载或内容合作请联系作者
【社区内容提示】社区部分内容疑似由AI辅助生成,浏览时请结合常识与多方信息审慎甄别。
平台声明:文章内容(如有图片或视频亦包括在内)由作者上传并发布,文章内容仅代表作者本人观点,简书系信息发布平台,仅提供信息存储服务。

相关阅读更多精彩内容

友情链接更多精彩内容