打包的时候不知道为什么混淆失败了,查了sdk里proguard 里是有@keep的。
后来了解到2.2 之后的修改,排查半天是默认混淆文件没有生成,添加 gradle plugin,开启远程调试,MD又好了,以后打包又多了一个排查点。
Android 默认的配置里会指定默认的混淆配置文件
getDefaultProguardFile('proguard-android.txt')
或
getDefaultProguardFile('proguard-android-optimize.txt')
Android plugin for Gradle 2.2 之前,这个文件就再sdk里
sdk/tools/proguard/proguard-android.txt
2.2 之后在
项目/build/intermediates/proguard-files/proguard-android.txt-3.0.1
这个文件是由 task extraPorguardFiles 从 Gradle plugin 里抽取的。不清楚在什么情况下这个文件会抽取失败。
默认的 proguard 文件里是定义 @keep 的地方,没有引用的话会导致大面积混淆失败。