我准备在市场上发布应用,在阅读Google文档located here时,它会建议以下内容:Deactivate any calls to Log methods in the source code.
是否有一种比查看所有源文件并手动删除每一行更简单的方法?
另外,为什么要删除日志记录,这是资源占用吗?
答案 0 :(得分:7)
您可以通过proguard执行此操作。在最新的SDK和工具中,应该已经存在proguard配置文件。克里斯托弗用similar question回答了这个问题。
最简单的方法可能是在部署之前通过ProGuard运行已编译的JAR,其配置如下:
-assumenosideeffects class android.util.Log {
public static int v(...);
}
除了所有其他ProGuard优化之外,它将直接从字节码中删除任何详细的日志语句。
您可以通过添加
来决定要禁用哪些logoutput-assumenosideeffects class android.util.Log {
public static int d(...);
public static int i(...);
public static int e(...);
}
也可以访问proguard配置文件。我喜欢在我的代码中保留.e消息,因为这些仅用于某些catch部分,希望在正常执行应用程序期间降低性能。
答案 1 :(得分:1)