7

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

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

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

4

2 回答 2

7

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

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

-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 消息,因为这些消息仅用于某些捕获部分,希望在应用程序的正常执行期间降低性能。

于 2011-02-28T12:16:12.013 回答
1

看看这个问题:

于 2011-02-28T12:09:24.680 回答