开发者社区> 问答> 正文

应用研发平台EMAS 加了混淆之后启动就报错了,该如何解决?

应用研发平台EMAS 加了混淆之后启动就报错了,该如何解决?
76c868ad0168f2c7f14b1c94f4f34aec.png

展开
收起
2401。 2023-09-02 10:34:46 50 0
1 条回答
写回答
取消 提交回答
  • 需要用混淆后的新旧两个包打补丁。并且新包的混淆逻辑需要和旧包保持一致,一般就是使用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
    

    image.png

    可以联系:技术支持。
    dac08185012baf33f5d915639b471730_2743dce7-c3e8-44e4-b0ee-bfcea7734515.png

    通过系统提交工单,打开提交工单页面,问题分类搜索“移动研发平台”提交问题。提交后的问题会有技术支持同学介入,过程可以在我的服务记录中查看

    3bfaeeb26b02e782a7dbdddc17813fc9_1bdbde00-e4d6-4b57-b852-113185e73594.png

    2023-09-02 14:48:20
    赞同 展开评论 打赏
来源圈子
更多
收录在圈子:
基于阿里巴巴以及合作伙伴的最佳实践,围绕大前端、云原生领域的相关技术热点(小程序、Serverless、应用中间件、低代码、DevOps)展开行业探讨,与开发者一起探寻云原生时代应用研发的新范式。
相关文档: 移动研发平台
问答排行榜
最热
最新

相关电子书

更多
五天玩转EMAS Serverless 立即下载
EMAS平台全景介绍 立即下载
低代码开发师(初级)实战教程 立即下载