EMAS 热修复 Sophix 适配 App 加固的技术方案
💡
原文中文,约1300字,阅读约需4分钟。
📝
内容提要
某阿里云EMAS客户的APK发布补丁后,部分手机上的APP闪退。经调查发现问题是补丁加载导致的。初步判断是odex问题,需要反编译APK文件查看具体内容。经过多次测试,发现外部类没有加载进补丁包,怀疑是类加载器的问题。适配加固模式后,问题解决。总结:热修复需要确保所有方法都被打进补丁包,适配加固模式需要严格适配。
🎯
关键要点
-
某阿里云EMAS客户的APK发布补丁后,部分手机APP闪退。
-
初步判断是补丁加载导致的闪退,怀疑是odex问题。
-
无法在本地复现闪退,崩溃率达到9%。
-
日志显示崩溃在odex中,怀疑与加固有关。
-
客户使用了加固模式,提供热修复API进行适配。
-
测试发现10%的手机崩溃,怀疑外部类未打包进补丁包。
-
反编译补丁包确认外部类已打包,但类加载器问题导致加载失败。
-
通过适配加固模式,使用自定义类加载器解决问题。
-
总结:热修复需确保所有方法打包进补丁,适配加固模式需严格执行。
➡️