从生产APK中删除调试活动

时间:2012-09-11 15:58:31

标签: android debugging

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

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

2 个答案:

答案 0 :(得分:0)

不,没有这样的功能。你可能会尝试使用自定义构建脚本,但也许仅仅检查应用程序的debuggable标志就足够了:

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

答案 1 :(得分:0)

  

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

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