AAR ProGuard没有混淆

时间:2018-05-04 16:01:18

标签: android android-studio proguard

我在Android Studio中有一个AAR(库)项目,用于创建我们许可的库。我需要对我们发布的库进行模糊处理,以使人们很难反编译。但我似乎无法让ProGuard工作。当我解压缩AAR然后解压缩下面的“classes.jar”时,所有类名仍然存在以及变量。我对ProGuard的使用非常弱,所以想知道社区是否可以提供帮助。我有一个非常基本的ProGuard文件,一个在Android Studio为项目创建模板时生成的文件:

-printmapping out.map
-keepparameternames
-renamesourcefileattribute SourceFile
# -keepattributes Exceptions,InnerClasses,Signature,Deprecated,SourceFile,LineNumberTable,EnclosingMethod
-keepattributes Exceptions

# Preserve all annotations.
-keepattributes *Annotation*

# Preserve all public classes, and their public and protected fields and methods

-keep public class * {
    public protected *;
}

2 个答案:

答案 0 :(得分:0)

可能为时已晚,但对其他人可能会有帮助。 我正在使用此配置,变量名称以及参数varialbes都被加密

-renamesourcefileattribute SourceFile
-keepattributes Exceptions
-keepattributes *Annotation*

-keep public class * {
    public protected *;
}

我还在构建类型中使用了此配置,因此它不可调试

buildTypes {
        release {
            minifyEnabled true
            proguardFiles getDefaultProguardFile('proguard-android.txt'), 'proguard-rules.pro'
            debuggable false
            jniDebuggable false
            zipAlignEnabled true
        }
    }

让我知道它是否解决了您的问题,或者您是否找到了更好的解决方案!

答案 1 :(得分:0)

-keep,allowoptimization,allowobfuscation public class yourpackage.**