如何使用Proguard文件?

时间:2016-03-20 15:17:09

标签: android-studio android-gradle android-proguard

我尝试使用自定义proguard文件从代码中删除所有Log的方法调用以进行发布构建。所以我写了我的自定义proguard文件(从网上拿走):

proguard-rules-release.txt

-assumenosideeffects class android.util.Log {
    public static boolean isLoggable(java.lang.String, int);
    public static int v(...);
    public static int i(...);
    public static int w(...);
    public static int d(...);
    public static int e(...);
}

build.grade

中添加了它
android {

    buildTypes {

        release {
            minifyEnabled false
            proguardFiles getDefaultProguardFile('proguard-android.txt'),
                    'proguard-rules.txt', 'proguard-rules-release.txt'
        }
    }
}

但是当我在*.class中通过反编译器阅读Android Studio中的~/app/build/intermediates/classes/release文件时,我发现它包含所有调用以及没有proguard文件。

我做错了什么?

ADDED 我甚至反编译了apk文件。现在,我确定我的proguard文件不起作用。 我重写了build.gradle所以:

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

并在反编译后生成签名的apk文件...但它都具有日志输出。我什么都不懂......

1 个答案:

答案 0 :(得分:1)

我发现我做错了。 Imma noobie。答案在我的帖子中......

minifyEnabled false

此选项启用|禁用对proguard文件的支持。
也许有人会有同样的问题。