应用研发平台EMAS sophix初始化合规
Sophix初始化合规需遵循以下步骤与注意事项:1. 集成位置:在AndroidManifest.xml中配置SophixStubApplication,并确保其为Java原生,与其他类隔离,无相互调用逻辑。2. 初始化时机:初始化调用应在Application.attachBaseContext()方法最开始,紧接在super.attachBaseContext()之后执行。如使用Multidex,需在Multidex.install之后初始化。避免在Application.onCreate()中初始化,以防与ContentProvider冲突。3. 配置混淆:混淆时需保留Sophix相关类,添加 -printmapping mapping.txt 并保存mapping文件,确保每次发布版本的代码和mapping文件得以妥善保存。4. 资源优化:关闭资源优化,即在gradle.properties中设置android.enableResourceOptimizations=false,防止资源比对异常。5. 隐私合规:调用queryAndLoadNewPatch()前完成隐私判断,此方法涉及读取设备信息。6. 推荐接入方式:采用稳健接入方案而非快速接入,以获取更全面的修复支持和更好的兼容性。7. 注意事项:•避免在Sophix初始化前使用自定义类,防止潜在崩溃。•Application及直接引用类不支持增减方法和字段,考虑使用反射调用。•AndroidManifest.xml变动、系统展示资源(如通知图标、启动图标)及Sophix框架代码不支持热修复。•确保基础包、修复包、补丁包版本号一致,且使用同一打包环境。遵循以上指南,可确保Sophix热修复SDK的合规与稳定集成。此回答整理自钉群“应用研发平台EMAS开发者交流群”
版权声明:本文内容由阿里云实名注册用户自发贡献,版权归原作者所有,阿里云开发者社区不拥有其著作权,亦不承担相应法律责任。具体规则请查看《阿里云开发者社区用户服务协议》和《阿里云开发者社区知识产权保护指引》。如果您发现本社区中有涉嫌抄袭的内容,填写侵权投诉表单进行举报,一经查实,本社区将立刻删除涉嫌侵权内容。