华为P9手机的Logcat未显示错误信息

10

我正在使用Android Studio 2.3,我的手机型号是华为P9 Lite。我发现我的logcat无法显示来自手机的错误信息。例如,如果我的代码由于 NullPointerException 而崩溃,在模拟器上运行时我会在logcat(字体颜色:红色)中看到异常和弹出窗口显示MyApplication停止工作,但如果我在手机上运行相同的代码,我只能看到崩溃弹窗,而没有任何logcat中的信息。虽然信息消息可以显示,但错误消息却不行。我需要做什么才能在logcat中显示来自手机的错误消息呢?


清空过滤器,设置选项“无过滤器”,并检查日志级别。 - miljon
@Yazan 谢谢,我已经解决了这个问题。 - clzola
4个回答

30
华为禁用了LogCat和任何访问手机日志的方式。你需要进入一个隐藏菜单来启用这些功能。
1. 打开拨号应用并输入以下代码:*#*#2846579#*#*。 2. 进入后台设置页面。 3. 点击"日志设置"。 4. 选中3个选项以启用完整日志记录。 5. 忽略“将影响性能”的警告。 6. 重启手机
这对我有帮助,希望对你也有帮助。

enter image description here

来源: https://www.xda-developers.com/huawei-phones-disable-logcat-heres-how-to-restore-access/


是的,我当时做过这个,就像@Yazan在这个问题的评论中提到的那样,它起作用了。 - clzola
2
对我来说是完美的解决方案 - 除了(对我来说)不要重新启动手机 - OldCurmudgeon

0

我曾经遇到同样的问题,我是这样解决的:

Select Tools -> Android -> then disable ADB integration and then re-enable it. Hope it'll help you

选择工具 -> Android -> 然后禁用ADB集成,再重新启用它。希望能对您有所帮助。

-1

请勿关闭此弹出窗口,否则将清除您的日志记录。

如果没有出现任何内容,请尝试使用强调文本

首先,请确保您已从此处选择了您的移动设备 输入图像描述

并将过滤器设置为详细信息: 输入图像描述


1
我已经选择了我的手机,并将日志级别设置为详细,没有过滤器。 - clzola

-1
  1. 你可以使用调试。
  2. 你可以使用日志:

int ASSERT println方法的优先级常量。

int DEBUG println方法的优先级常量;使用Log.d。

int ERROR println方法的优先级常量;使用Log.e。

int INFO println方法的优先级常量;使用Log.i。

int VERBOSE println方法的优先级常量;使用Log.v。

int WARN println方法的优先级常量;使用Log.w。

例如: 如果我想要记录到错误日志,那么我会使用 Log.e("TAG","Message"); 它将在错误日志中打印“Message”,并且您可以通过标记“Tag”进行过滤。


代码中出现了 Log.e(),但有些代码不需要 try-catch。例如,如果出现 NullPointerException,应用程序会崩溃,并且我在手机的 logcat 中看不到错误,但是如果相同的代码在模拟器上运行,则可以看到错误。 - clzola

网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接