开启混淆

在项目的build.gradle文件中打开混淆的开关,然后在proguard-rules.pro文件中添加混淆规则即可

  1. buildTypes {
  2. debug {
  3. //是否进行混淆
  4. minifyEnabled false
  5. proguardFiles getDefaultProguardFile('proguard-android.txt'), 'proguard-rules.pro'
  6. }
  7. release {
  8. minifyEnabled true //开启混淆只需要设置为true即可
  9. //添加混淆规则的位置
  10. proguardFiles getDefaultProguardFile('proguard-android.txt'), 'proguard-rules.pro'
  11. }
  12. }

常用的几个小知识

  1. 不混淆某个类:

    1. -keep class com.dahua.leapmotor.lpcar_base.PublicUtils {*;}
    2. -keep class com.example.test.WebAppInterface {*;}
  2. 不混淆某个包及子包:

    1. -keep class com.dahua.leapmotor.lpcar_bean.** { *; }
  3. 保留该包下的类名不会被混淆,但是该包的子包的类名还是会被混淆

    1. -keep class packageName.*
  4. 保留该包及其子包的类名不会被混淆

    1. -keep class packageName.**
  5. 保留类名及其该类的内容不会被混淆(包括变量名,方法名等)

    1. -keep class packageName.* {*;}
  6. 不保留类名只保留该类的方法名、变量名等不会被混淆

    1. -keepclassmembers class packageName.*{*;}

    参考

    Android混淆——了解这些就够了