项目添加混淆配置

这周项目要添加混淆配置,因为我之前没有了解过混淆,先是在网上找了教程看了下。大致了解之后开始动手。
因为我们项目是多个module,我一直没完全搞懂,所以做的时候也是各种问题。
首先是在app module下的build.gradle中打开混淆配置,然后找了公司另一个项目的混淆配置抄过来改改用着。然后打包,竟然一次成功,但是安装之后不出意外的崩溃了。
然后就是一整天的打包->崩溃->再打包->继续崩溃。
然后发现app module下的混淆,影响不到其他module,需要每个module单独加混淆,但是混淆加多了之后打包过程直接失败了。

  • What went wrong:
    Execution failed for task ':BingoParty:minifyReleaseWithR8'.

A failure occurred while executing com.android.build.gradle.internal.tasks.R8Task$R8Runnable
Compilation failed to complete, origin: /user/proj.android/common/build/intermediates/runtime_library_classes_jar/release/bundleLibRuntimeToJarRelease/classes.jar:a/a.class

通过查找 build/outputs/mapping/release/mapping.txt中对照关系
原因是我加的keep都是参考之前的,-kepp class temp { public *;}
只保留了文件中的public方法,一些匿名内部类和私有方法没有保留,导致混淆出错。

到这一阶段基本理解了混淆的逻辑,就开始了每次崩溃后找到需要混淆的类加入配置中,重新打包的循环。

posted @ 2025-08-01 18:49  王大可12138  阅读(13)  评论(0)    收藏  举报