Android Proguard收缩得太厉害了

Android Proguard收缩得太厉害了,android,adt,proguard,shrink,Android,Adt,Proguard,Shrink,从ADT 17开始,您可以在gen文件夹中找到一个带有调试常量的BuildConfig类。我经常在代码中使用这个常量,因为ADT会在导出应用程序时自动更改值 然而,对于Proguard,这不再有效。例如,我有以下片段: if (!BuildConfig.DEBUG) { ACRA.init(this); } Proguard注意到DEBUG是真的,所以它完全删除了这个片段并收缩了应用程序。在那之后,ADT改变了调试常量,但这已经太晚了 我知道的唯一解决方案是创建自己的调试常量并再次手动

从ADT 17开始,您可以在gen文件夹中找到一个带有调试常量的BuildConfig类。我经常在代码中使用这个常量,因为ADT会在导出应用程序时自动更改值

然而,对于Proguard,这不再有效。例如,我有以下片段:

if (!BuildConfig.DEBUG) {
    ACRA.init(this);
}
Proguard注意到DEBUG是真的,所以它完全删除了这个片段并收缩了应用程序。在那之后,ADT改变了调试常量,但这已经太晚了

我知道的唯一解决方案是创建自己的调试常量并再次手动更改它。但我真的很喜欢ADT的功能。你知道更好的解决办法吗

提前谢谢

编辑:

有一个变通办法。创建自己的调试常量,该常量在运行时初始化:

debug = (0 != (getApplicationInfo().flags & ApplicationInfo.FLAG_DEBUGGABLE));

我首先在应用程序类的onCreate方法中创建这个变量。这是一个解决方法,虽然有效,但它不是问题的解决方案。

这不是ProGuard,BuildConfig.DEBUG没有设置为false。它不是ProGuard,BuildConfig.DEBUG没有设置为false。