【问题标题】:Logcat not displaying debug messages when using specific device使用特定设备时 Logcat 不显示调试消息
【发布时间】:2016-04-11 16:25:33
【问题描述】:

我正在使用两个真实设备和一些虚拟设备测试一个应用程序。当使用真正的摩托罗拉 Moto G 4G(第一代)或任何虚拟设备测试应用程序时,Lod.d() 消息会按预期显示。在 Sony Xperia E4 中进行测试时,Log.d() 消息未显示,而其他日志消息则显示。有什么问题?

【问题讨论】:

标签: android logcat sony


【解决方案1】:

不知道这是否会对您使用 Sony Xperia E4 有所帮助,但我建议您使用自定义 Logger 类。这是一个例子:

public class Logger {

    public static void debug(Class<?> cls, String message) {
        if(BuildConfig.DEBUG)
            Log.d(cls.getSimpleName(), "--------" + message);
    }

    public static void info(Class<?> cls, String message) {
        Log.e(cls.getSimpleName(), "--------" + message);
    }

    public static void error(Class<?> cls, String message, Exception e) {
        Log.e(cls.getSimpleName(), "--------" + message, e);
    }

    public static void warn(Class<?> cls, String message) {
        Log.w(cls.getName(), "--------" + message);
    }

    public static void error(Class<?> cls, CharSequence message) {
        Log.e(cls.getSimpleName(), "--------" + message);
    }
}

您可以在发布应用时通过 BuildConfig 打开/关闭日志。我的 Sony Xperia M2 使用此类正确显示日志。 尝试以这种方式使用它:

Logger.debug(SomeClass.class, "Log message");

【讨论】:

  • 检查设置-开发者选项-调试-USB调试中的工具,也许这会有所帮助。但我认为您已经打开它,因为您可以使用 ADB
【解决方案2】:

在 Sony Xperia E5 Android 6.0 上测试我发现 Logcat debug (Log.d) 日志被忽略。

通过拨号盘和*#*#7378423#*#* 代码访问特殊出厂设置没有启用调试日志的选项(就像华为设备一样)。

Developer options 下也没有任何启用调试日志的选项。

【讨论】:

    【解决方案3】:

    我有同样的设备并且有同样的问题。 我尝试了所有其他方法 adb-kill/restart、restart logger、android studio 使缓存无效,但根本没有用。

    最后,我不得不执行恢复出厂数据。

    现在它正在工作。

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 2012-04-17
      • 2017-08-03
      • 1970-01-01
      • 2013-07-28
      • 1970-01-01
      • 2016-02-03
      • 1970-01-01
      相关资源
      最近更新 更多