我正在尝试测试已超过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.**
答案 0 :(得分:0)
启用proguard后,您的代码会被混淆,无法进行调试。这就是为什么当你想调试并将标志设置为true时,proguard不会激活,这就是为什么你没有看到apk缩小的原因。
检查this post。它有一个类似的问题,将帮助您更好地了解条件。