在市场上发布应用程序之前,是否有一种简单的方法可以"停用日志记录"?

Jim*_*mmy 7 android android-sdk-2.1 android-logcat

我准备在市场上发布应用程序,在阅读此处的Google文档时,它建议如下:Deactivate any calls to Log methods in the source code.

有没有比通过我的所有源文件并手动删除每一行更简单的方法?

另外,为什么要删除日志记录,这是资源占用吗?

Jan*_*usz 7

你可以通过proguard来做到这一点.在最新的SDK和工具中,应该已经存在proguard配置文件.克里斯托弗在回答这个类似的问题.

最简单的方法可能是在部署之前通过ProGuard运行已编译的JAR,其配置如下:

-assumenosideeffects class android.util.Log {
  public static int v(...);
}
Run Code Online (Sandbox Code Playgroud)

除了所有其他ProGuard优化之外,这将直接从字节码中删除任何详细的日志语句.

您可以通过添加来决定要禁用哪些logoutput

-assumenosideeffects class android.util.Log {
  public static int d(...);
  public static int i(...);
  public static int e(...);
}
Run Code Online (Sandbox Code Playgroud)

到proguard配置文件也是如此.我喜欢在我的代码中保留.e消息,因为这些仅用于某些catch部分,希望在正常执行应用程序期间降低性能.