EMAS 热修复 Sophix 适配 App 加固的技术方案

💡 原文中文,约1300字,阅读约需4分钟。
📝

内容提要

某阿里云EMAS客户的APK发布补丁后,部分手机上的APP闪退。经调查发现问题是补丁加载导致的。初步判断是odex问题,需要反编译APK文件查看具体内容。经过多次测试,发现外部类没有加载进补丁包,怀疑是类加载器的问题。适配加固模式后,问题解决。总结:热修复需要确保所有方法都被打进补丁包,适配加固模式需要严格适配。

🎯

关键要点

  • 某阿里云EMAS客户的APK发布补丁后,部分手机APP闪退。

  • 初步判断是补丁加载导致的闪退,怀疑是odex问题。

  • 无法在本地复现闪退,崩溃率达到9%。

  • 日志显示崩溃在odex中,怀疑与加固有关。

  • 客户使用了加固模式,提供热修复API进行适配。

  • 测试发现10%的手机崩溃,怀疑外部类未打包进补丁包。

  • 反编译补丁包确认外部类已打包,但类加载器问题导致加载失败。

  • 通过适配加固模式,使用自定义类加载器解决问题。

  • 总结:热修复需确保所有方法打包进补丁,适配加固模式需严格执行。

➡️

继续阅读