在新版本的Android Studio
中开启混淆的方法如下:
1 2 3 4 5 6 7 |
buildTypes { release { minifyEnabled true //是否混淆 shrinkResources true //是否去除无效的资源文件 proguardFiles getDefaultProguardFile('proguard-android-optimize.txt'), 'proguard-rules.pro' } } |
具体解释一下minifyEnabled
用来影响是不是开启混淆,shrinkResources
只有在minifyEnabled
为true
的情况下,才能有效,用来去除无效的资源文件。proguard-android-optimize.txt
是Android SDK
->tools\proguard
目录下,Google
已经写好默认的混淆模板文件,其中的proguard-android.txt
默认没有配置代码优化,而proguard-android-optimize.txt
默认配置了代码优化,至于我们自己工程下面的proguard-rules.pro
文件,只要配置我们自定义的额外配置即可,其他的用默认配置即可。
顺便讲一下代码混淆的好处:
1.代码安全,不易理解,增加破解难度。
2.减小APK的体积,减少内存开销。
3.缩减类名,方法名的长度,减少CPU开销。