android 发布正式版本都会涉及到代码加密,防止反编译,这就涉及到混淆文件的配置
1、在app模块的build.gradle中配置
buildTypes { release { //开启混淆 minifyEnabled true //移除无用资源 shrinkResources true //压缩优化 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 #是否混淆第三方jar -dontskipnonpubliclibraryclasses #混淆时是否做预校验 -dontpreverify #混淆时是否记录日志 -verbose #如果引用了v4或者v7包,可以忽略警告,因为用不到android.support -dontwarn android.support.** #不混淆资源类 -keepclassmembers class **.R$* { public static <fields>; } #不混淆JIN方法 -keepclasseswithmembernames class * { native <methods>; }
剩下的混淆配置根据项目中引用的第三方包自行配置,正常引用第三方包时,会提供混淆配置的,加上即可
3、多模块混淆
(1)所有的混淆配置都在主模块的proguard-rules.pro文件中配置
(2)在主模块中配置基本配置,然后在子模块的混淆文件中配置该模块所需要的混淆文章来源:https://www.toymoban.com/news/detail-430346.html
子模块配置和主模块中有所不同文章来源地址https://www.toymoban.com/news/detail-430346.html
buildTypes { release { consumerProguardFiles 'consumer-rules.pro' } }
到了这里,关于android 混淆配置的文章就介绍完了。如果您还想了解更多内容,请在右上角搜索TOY模板网以前的文章或继续浏览下面的相关文章,希望大家以后多多支持TOY模板网!