在将应用发布到市场之前关闭我自己的应用的 LogCat 输出非常简单。我也知道如何通过标签和/或 id 有选择地过滤 LogCat 消息以方便我自己的调试。
但现在我对可能更困难的事情感兴趣(也许不可能?):禁用所有 LogCat 输出,尤其是那些来自 TtsService、GoogleLoginService 等第三方服务的输出。
这可能吗?
进一步澄清:我不有兴趣为自己过滤掉消息。我对从 Android Market 下载我的应用程序的人禁用 3rd-party 消息很感兴趣。这可能吗?
最佳答案
您可以使用 ProGuard完全删除任何没有使用返回值的行,方法是告诉 ProGuard 假设不会有问题。
以下 proguard.cfg block 指示删除 Log.d、Log.v 和 Log.i 调用。
-assumenosideeffects class android.util.Log {
public static *** d(...);
public static *** w(...);
public static *** v(...);
public static *** i(...);
}
最终结果是这些日志行不在您的发行版 apk 中,因此任何使用 logcat 的用户都不会看到 d/v/i 日志。
关于android - 在发布的 Android 应用程序中完全禁用 LogCat 输出?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/5553146/