应用研发平台EMAS 加了混淆之后启动就报错了,该如何解决?
需要用混淆后的新旧两个包打补丁。并且新包的混淆逻辑需要和旧包保持一致,一般就是使用mapping.txt文件来做到。具体请参考demo中的注释说明。
应用在上线打包APK时,往往会进行混淆操作,但是由于修复前后两个APK混淆结果不同,会导致patch无效,无法修复Bug。所以,需要注意应用打包APK时修复前后两个APK必须使用同一份mapping.txt,以保证两个APK混淆结果一致。如果APP应用了混淆配置,那么需要进行以下处理,如果没有应用混淆配置,则不需要以下处理。
映射文件使用:
配置混淆参数 -applymapping 和 -printmapping 参数,然后app目录下放一个空的mapping.txt文件,生成一个基线包。
把Build文件中的mapping.txt复制到app目录下。(保存这个mapping和基线包)
注释-printmapping参数。
修改代码之后,生成一个新的包,对比两个包的差异。
注意事项如下:
生成的mapping.txt在当前模块目录下的/build/outputs/mapping目录下。
需要保证mapping.txt文件和基线包的文件是一一对应。
混淆配置
-printmapping mapping.txt
#生成的mapping.txt在app/build/outputs/mapping/release路径下,移动到/app路径下
#修复后的项目使用,保证混淆结果一致
#-applymapping mapping.txt
#hotfix
-keep class com.taobao.sophix.**{*;}
-keep class com.ta.utdid2.device.**{*;}
#防止inline
-dontoptimize
可以联系:技术支持。
通过系统提交工单,打开提交工单页面,问题分类搜索“移动研发平台”提交问题。提交后的问题会有技术支持同学介入,过程可以在我的服务记录中查看
版权声明:本文内容由阿里云实名注册用户自发贡献,版权归原作者所有,阿里云开发者社区不拥有其著作权,亦不承担相应法律责任。具体规则请查看《阿里云开发者社区用户服务协议》和《阿里云开发者社区知识产权保护指引》。如果您发现本社区中有涉嫌抄袭的内容,填写侵权投诉表单进行举报,一经查实,本社区将立刻删除涉嫌侵权内容。