在Android工程中混淆时,并不是所有的类都去混淆, 一些指定的类,我们要过滤掉不让其混淆。
在AndroidStudio中
混淆时 在 build.gradle 文件里面进行配置
buildTypes { debug { // 显示Log buildConfigField "boolean", "LOG_DEBUG", "true" versionNameSuffix "-debug" //混淆 minifyEnabled false //签名 signingConfig signingConfigs.debug } release { //代码混淆开关,一定要注意现在已经使用minifyEnabled代替runProguard了 minifyEnabled true //Zipalign优化 zipAlignEnabled true // 移除无用的resource文件 shrinkResources true // proguard-rules.pro 是当前使用的混淆文件(Eclipse中的proguard.cfg) //前一部分代表系统默认的android程序的混淆文件,该文件已经包含了基本的混淆声明,后一个文件是自己的定义混淆文件 proguardFiles getDefaultProguardFile('proguard-android.txt'), 'proguard-rules.pro' } }
//代码混淆开关,一定要注意现在已经使用minifyEnabled代替runProguard了 minifyEnabled true
并不是所有的类都去混淆, 一些指定的类,我们要过滤掉不让其混淆。
首先 通常第三方开源库 是不必混淆的 也没意义。
譬如网络请求框架 okhttp.