构建Proguard
Proguard配置是Android的apk混淆文件配置,但它的作用绝对不仅仅是混淆代码。它同样可以精简代码、资源,优化代码结构。也正是因为这个原因,在新版的Android Studio中,Google将runProguard的参数名改为了minifyEnabled,更加直白地显示它的作用。它的配置也非常简单,在构建类型中直接配置参数启用即可,代码如下所示。
- buildTypes {
- release {
- minifyEnabled true
- proguardFiles getDefaultProguardFile('proguard-android.txt'), 'proguard-rules.pro'
- }
- xys {
- signingConfig signingConfigs.xys
- applicationIdSuffix ".xys"
- }
- }
这样在构建release版本时,系统就会自动进行混淆,而混淆配置文件的地址,则通过getDefaultProguardFile方法来获取。SDK默认的混淆文件配置模板,在SDK的tools/proguard目录下可以找到,如图4.16所示。
图4.16 proguard文件
混淆对于一个apk来说是非常关键的,而且混淆也经常会导致一些Debug版本所没有的问题。对于这种情况,通常需要对混淆脚本进行仔细分析,一步步排除问题。
