应用在上线打包APK时,往往会进行混淆操作,但是由于修复前后两个APK混淆结果不同会导致patch无效,无法修复bug。所以,需要注意的是:应用打包APK的时候修复前后两个APK必须使用同一份mapping.txt,以保证两个APK混淆结果一致。
如果app应用了混淆配置, 那么需要做如下处理. 如果没有应用混淆配置, 则不需要如下处理
版权声明:本文内容由阿里云实名注册用户自发贡献,版权归原作者所有,阿里云开发者社区不拥有其著作权,亦不承担相应法律责任。具体规则请查看《阿里云开发者社区用户服务协议》和《阿里云开发者社区知识产权保护指引》。如果您发现本社区中有涉嫌抄袭的内容,填写侵权投诉表单进行举报,一经查实,本社区将立刻删除涉嫌侵权内容。
在使用阿里云的相关服务进行移动应用的持续集成和交付(如阿里云CodePipeline、CodeBuild等)时,确保混淆配置的一致性对于维护APP的稳定性和修复效率至关重要。根据您的描述,这里有几个关键步骤来确保混淆结果的一致性,特别是在利用阿里云DevOps工具链进行自动化构建和发布时:
获取mapping.txt文件:
mapping.txt
文件。这通常通过在Gradle脚本中配置输出路径实现,或者在构建任务后添加脚本来自动复制该文件到指定位置。配置ProGuard规则:
build.gradle
文件中的Android配置块,确保proguardFiles
正确引用了proguard-rules.pro
文件,并且在修复后的项目中,如果有新的类或方法需要保持不被混淆,应相应地更新此文件。应用Mapping文件: 使用applyMapping
指令来确保新构建使用的混淆规则与之前一致。您提到的命令片段 -applymapping mapping.txt
正确地指出了如何在构建过程中应用之前的混淆映射。确保这个指令被包含在你的proguard-rules.pro
文件中,并且该文件被正确读取。
自动化流程调整:
注意Gradle版本兼容性: 您提到了printmapping
命令在最新版Gradle中可能不再有效的问题。确保检查并遵循当前使用的Gradle版本的文档,了解任何命令变更或替代方案,必要时调整脚本以适应新版本的要求。
测试验证:
通过以上步骤,您可以有效地管理混淆配置,保证即使在持续集成和快速迭代的环境下,也能维持APP的可维护性和稳定性。