当debuggable设置为true时,Proguard不会缩小

时间:2016-05-10 11:44:36

标签: android android-proguard

我正在尝试测试已超过64K限制的应用。

我已设置minify,但在启用debuggable时它不起作用。但是,如果我使用debuggable构建一个版本,那么它会缩小2/3!

我错过了什么吗?这是我的Gradle文件的相关部分:

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

proguard-rules.pro:

    -keep class .R
-keep class **.R$* {
    <fields>;
}
-keepattributes *Annotation*
-keepclassmembers class ** {
    @org.greenrobot.eventbus.Subscribe <methods>;
}
-keep enum org.greenrobot.eventbus.ThreadMode { *; }

-keepclassmembers class * extends org.greenrobot.eventbus.util.ThrowableFailureEvent {
    <init>(java.lang.Throwable);
}

-dontwarn com.google.**
-dontwarn com.squareup.picasso.**


-dontnote com.google.**
-dontnote com.squareup.picasso.**

1 个答案:

答案 0 :(得分:0)

启用proguard后,您的代码会被混淆,无法进行调试。这就是为什么当你想调试并将标志设置为true时,proguard不会激活,这就是为什么你没有看到apk缩小的原因。

检查this post。它有一个类似的问题,将帮助您更好地了解条件。