第一步:在 build.gradle 的 buildTypes 打开 ,最好的话加上 zipAlignEnabled 为 true
因为像 Google Play 强制要求开发者上传的应用必须是经过 zipAlign 的,zipAlign 可以让安装包中的资源按 4 字节对齐,这样可以减少应用在运行时的内存消耗。
第二步:在工程下找到 “proguard-rules.pro” 文件,在里面定义忽略混淆的规则
第三步:关于混淆的一些规则
-ignorewarnings //作用是忽略混淆时出现的警告
混淆的常见配置
Proguard 关键词
- 保留包名下的类以及子包,如 java bean:
-keep class com.xxx.xx.x.bean.**{*;}
- 保留类中的某些方法,如 public:
-keep class com.xxx.xx.x.demo.demo {public *;}
- 保留类中的内部类,使用 ”$” 符号:
-keep class com.xxx.xx.x.demo.demo$MyTest{*;}
还有一点:当有第三方 jar 包的时候,如果不想混淆,可以通过直接包名忽略。如 baidu:
-keep class com.baidu.** { *; }
-keep class vi.com.gdi.bgl.android.**{*;}
-keep class com.google.gson.**{*;}