在将应用程序发布到市场之前,是否有一种简便的方法“停用日志记录”?

7
我正在准备在应用市场发布一个程序,在阅读此处的Google文档后,建议进行以下操作:在源代码中停用任何对Log方法的调用。

有没有更简单的方法,而不必手动浏览所有源文件并逐行删除?

此外,为什么要删除日志记录,它会占用资源吗?

2个回答

7
您可以通过 proguard 来实现。在最新的SDK和工具中,应该已经存在 proguard 配置文件。Christopher 在一个 类似的问题 中回答了这个问题。

最简单的方法可能是在部署之前将编译后的JAR文件通过ProGuard运行,并使用类似以下的配置:

-assumenosideeffects class android.util.Log {
  public static int v(...);
}

除了所有其他ProGuard优化之外,这将直接从字节码中删除任何冗长的日志语句。
您可以通过添加来决定要禁用哪些日志输出。
-assumenosideeffects class android.util.Log {
  public static int d(...);
  public static int i(...);
  public static int e(...);
}

同时,将该配置文件添加到proguard中。我喜欢在我的代码中保留.e消息,因为这些只在某些catch部分中使用,希望在应用程序正常执行期间减少性能。



网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接