android - 在发布的 Android 应用程序中完全禁用 LogCat 输出?

标签 android release google-play logcat android-logcat

在将应用发布到市场之前关闭我自己的应用的 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/

相关文章:

android - 如何删除提交到Google Play商店的内测应用?

java - 尝试从 URL 读取文本时抛出异常

java - Android ProgressDialog 未显示(被其他线程中的代码阻止)

language-agnostic - 对发布后必须撤回的编程语言的增强?

azure-devops - Azure 开发运营 : How to find all release plans where a variable group is linked to

当 Beta 版可用时,Android 封闭的 Alpha 版轨道不会向受邀用户显示。显示的是 Beta 版?

c# - 如何使用蓝牙 c# Xamarin 连接和发送数据?

android - 比较android sqlite数据库中的日期(存储为字符串)?

android - 如何在 Amazon Android 网站上链接到我的应用程序

android - 如何为 Android 应用程序创建深层链接