2

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

但是,对于 Proguard,这不再起作用了。例如,我有以下片段:

if (!BuildConfig.DEBUG) {
    ACRA.init(this);
}

Proguard 注意到 DEBUG 是真的,所以它完全删除了这个片段并缩小了应用程序。之后 ADT 更改 DEBUG 常量,但这为时已晚。

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

提前致谢。

编辑:

有一种解决方法。创建您自己的 DEBUG 常量,该常量在运行时初始化:

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

我首先在我的 Application 类的 onCreate 方法中创建了这个变量。这是一种解决方法,它有效,但它不是问题的解决方案。

4

0 回答 0