android 發(fā)布正式版本都會涉及到代碼加密,防止反編譯,這就涉及到混淆文件的配置
1、在app模塊的build.gradle中配置
buildTypes { release { ????????//開啟混淆 ????????minifyEnabled true ????????//移除無用資源 ????????shrinkResources true ????????//壓縮優(yōu)化 ????????zipAlignEnabled true ????????proguardFiles getDefaultProguardFile('proguard-android.txt'), 'proguard-rules1.pro' ????????signingConfig signingConfigs.release ????} }
然后在其中引用的proguard-rules.pro文件中配置混淆即可
注:這里的app模塊是指在build.gradle中配置的是
plugin: 'com.android.application'
因為有的工程中有多個模塊
2、proguard-rules.pro文件中配置混淆
基本配置
#指定代碼的壓縮級別 -optimizationpasses 5 #是否使用大小寫混合 -dontusemixedcaseclassnames #是否混淆第三方j(luò)ar -dontskipnonpubliclibraryclasses #混淆時是否做預(yù)校驗 -dontpreverify #混淆時是否記錄日志 -verbose #如果引用了v4或者v7包,可以忽略警告,因為用不到android.support -dontwarn android.support.** #不混淆資源類 -keepclassmembers class **.R$* { public static <fields>; } #不混淆JIN方法 -keepclasseswithmembernames class * { native <methods>; }
剩下的混淆配置根據(jù)項目中引用的第三方包自行配置,正常引用第三方包時,會提供混淆配置的,加上即可
3、多模塊混淆
(1)所有的混淆配置都在主模塊的proguard-rules.pro文件中配置
(2)在主模塊中配置基本配置,然后在子模塊的混淆文件中配置該模塊所需要的混淆文章來源:http://www.zghlxwxcb.cn/news/detail-430346.html
子模塊配置和主模塊中有所不同文章來源地址http://www.zghlxwxcb.cn/news/detail-430346.html
buildTypes { release { consumerProguardFiles 'consumer-rules.pro' } }
到了這里,關(guān)于android 混淆配置的文章就介紹完了。如果您還想了解更多內(nèi)容,請在右上角搜索TOY模板網(wǎng)以前的文章或繼續(xù)瀏覽下面的相關(guān)文章,希望大家以后多多支持TOY模板網(wǎng)!