我知道在 Android 工具的最新版本中,我们可以使用 if (BuildConfig.DEBUG == true),我相信它会删除代码。
是否可以从生产版本 APK 中去除仅用于调试目的的活动?
不,没有这样的功能。您可能可以尝试使用自定义构建脚本来做到这一点,但也许只需检查debuggable
应用程序的标志就足够了:
Boolean isDebuggable = ((getApplicationInfo().flags & ApplicationInfo.FLAG_DEBUGGABLE) != 0);
是否可以从生产版本 APK 中去除仅用于调试目的的活动?
从 Java 的角度来看,ProGuard 可能会通过适当的规则摆脱它们。但是,清单条目将保留,只有那些仅开发模式的活动才需要的任何资源也会保留,等等。这充其量只会增加膨胀。在最坏的情况下,如果清单条目已经导出了这些活动(例如,通过发布<intent-filter>
),那么当某些东西试图运行这些活动时,您的应用程序将崩溃。