android proguard 不起作用,Android-ProGuard 混淆

前言

现在写的app 基本都是经过混淆了的,如果不混淆, 发布出去,别人一反编译 就可以直接看你的源码了

我现在用的AndroidStudio , 只需要在 build.grade 的配置文件中配置如下即可:

buildTypes {

debug {

debuggable "true"

minifyEnabled "false"

}

release {

debuggable false

minifyEnabled true

proguardFiles getDefaultProguardFile('proguard-android.txt'), 'proguard-rules.pro'

signingConfig signingConfigs.release

}

}

proguardFiles getDefaultProguardFile 就是制定 混淆规则的文件, AndroidStudio默认生成了proguard-rules.pro 文件

image.png

以上示例代码表示对release版本就行混淆处理。下面我们先来简介下ProGuard的三大作用,并简要说明下它们常用的命令。

ProGuard作用

压缩(Shrinking):默认开启,用以减小应用体积,移除未被使用的类和成员,并且会在优化动作执行之后再次执行(因为优化后可能会再次暴露一些未被使用的类和成员)。

-dontshrink 关闭压缩

优化(Optimization):默认开启,在字节码级别执行优化,让应用运行的更快

-dontoptimize 关闭优化

-optimizationpasses n 表示proguard对代码进行迭代优化的次数,Android一般为5

混淆(Obfuscation):默认开启,增大反编译难度,类和类成员会被随机命名,除非用keep保护。

-dontobfuscate 关闭混淆

混淆后默认会在工程目

你可能感兴趣的:(android,proguard,不起作用)