Android 7.0(N)以上版本的JIT问题
问题原因
在Android N以后的版本会对频繁使用的App进行jit操作,从而生成app image并更新oat文件。如果App image包含了补丁修改的class,就无法进行热更新。因为App在启动时会把这些类加入到PathClassloader的ClassTable中,系统在查找类时会直接使用base.apk中的class,最终导致修复不成功。不过,只有Android N版本后频繁使用的App会由系统进行jit,所以影响范围并不是非常广。
解决方案
Sophix 3.1.0以上版本已经自动处理,无需适配。如发现问题,可寻求群里技术支持解决。建议始终更新到 Sophix 最新版本,更加稳定。
更多官方信息
EMAS官网介绍:https://www.aliyun.com/product/emas
Devops:https://www.aliyun.com/product/emascrash/mobile_devops
移动热修复:https://www.aliyun.com/product/hotfix
移动测试:https://www.aliyun.com/activity/emas/mqcexpert
移动推送:https://www.aliyun.com/product/cps
HTTPDNS:https://www.aliyun.com/product/httpdns
EMAS 控制台: https://emas.console.aliyun.com/products
版权声明:本文内容由阿里云实名注册用户自发贡献,版权归原作者所有,阿里云开发者社区不拥有其著作权,亦不承担相应法律责任。具体规则请查看《阿里云开发者社区用户服务协议》和《阿里云开发者社区知识产权保护指引》。如果您发现本社区中有涉嫌抄袭的内容,填写侵权投诉表单进行举报,一经查实,本社区将立刻删除涉嫌侵权内容。