Closed
Description
Issue/提问须知
在提交issue之前,我们应该先查询是否已经有相关的issue以及常见问题。提交issue时,我们需要写明issue的原因,以及编译或运行过程的日志(加载进程以及Patch进程)。issue需要以下面的格式:
异常类型:无
tinker版本:如:1.9.2
gradle版本:如:3.3
是否使用热更新SDK: 无
因为补丁的apply流程通常耗时20s以上,导致我们app目前的apply流程失败率较高.我尝试了在未加固的基准包中使用设置isProtectedApp=true打出来的补丁包,仍然可以使用,而且速度非常快.
测试机型:nexus6p,直接进入了optimizeAll流程.貌似是去掉了dex合成的过程.直接将changed_classes.dex和test.dex进行opt了.
如果在所有未加固的app上都是用加固模式打的补丁包,应该可以增加apply的成功率,只是不知道是否对性能有影响?
Activity
tys282000 commentedon Apr 17, 2018
不行的,因为加固工具阻止了正常的dex2oat过程,同时也就阻止了内联和机器码直接跳转到目标方法之类的优化,这样才使得可以直接用一个包含了所有新增和变更的类的dex来覆盖已有的类。否则在正常的未加固的app上用这种方法会因为上面提到的这些优化导致各种莫名其妙的crash。