1

我知道在 Android 工具的最新版本中,我们可以使用 if (BuildConfig.DEBUG == true),我相信它会删除代码。

是否可以从生产版本 APK 中去除仅用于调试目的的活动?

4

2 回答 2

0

不,没有这样的功能。您可能可以尝试使用自定义构建脚本来做到这一点,但也许只需检查debuggable应用程序的标志就足够了:

Boolean isDebuggable = ((getApplicationInfo().flags & ApplicationInfo.FLAG_DEBUGGABLE) != 0);
于 2012-09-11T16:17:45.830 回答
0

是否可以从生产版本 APK 中去除仅用于调试目的的活动?

从 Java 的角度来看,ProGuard 可能会通过适当的规则摆脱它们。但是,清单条目将保留,只有那些仅开发模式的活动才需要的任何资源也会保留,等等。这充其量只会增加膨胀。在最坏的情况下,如果清单条目已经导出了这些活动(例如,通过发布<intent-filter>),那么当某些东西试图运行这些活动时,您的应用程序将崩溃。

于 2012-09-11T16:23:31.897 回答