好的,logcat 正在显示系统日志,但在我的华为 Ascend 上没有显示应用程序日志。如果我切换到另一台设备,例如我的 Galaxy Nexus 或 Nexus 7,则会显示相同应用程序(甚至相同 APK)的日志。
华为 Ascend 运行的是 Android 4.1.1,它在开发者选项中打开了 USB 调试。从命令行或 IntelliJ 运行 logcat 会发生这种情况。而且我要确保选择了正确的设备——事实上,我一次只插入一个设备。我试过重新启动 adb,清除它的缓冲区等
我可以看到应用程序正在华为上启动,我什至得到系统日志显示 Activity 已经启动。但与其他设备不同,我在 Activity#onCreate (或其他任何地方)中没有应用程序日志。
08-08 20:55:44.050: INFO/WindowManager(431): Switching to real app window: Window{41ae8780 au.com.xandar.wirelesstiming.timekeeper/au.com.xandar.wirelesstiming.timekeeper.TimeKeeperActivity paused=false}
08-08 20:55:44.180: INFO/ActivityManager(431): Displayed au.com.xandar.wirelesstiming.timekeeper/.TimeKeeperActivity: +387ms
应用程序日志如何无法交付?
好的,因为我有另一个华为 Ascend,我遇到了同样的问题。这次我有确切的答案。遵循这些说明(来自 denispyr 在 Why doesn't logcat show anything in my Android? 上的回答)
拨打*#*#2846579#*#*,您将看到一个隐藏菜单。进入项目菜单>后台设置>日志设置并定义日志可用性(日志切换)和级别(日志级别设置)。
然后确保重新启动手机。
请注意,这可能仅适用于华为手机。
另请注意,如果您使用的是华为平板电脑(例如 MediaPad M3),则无需拨号,而是以横向方式启动 华为计算器 并输入 ()()2846579()()
。
适用于 Android 8.0+ 的华为
我们必须拨打代码:*#*#2846579#*#*
并选择选项 AP Log 将足以在 LogCat 中显示消息。
https://i.stack.imgur.com/X6EnR.png
如果任何一个拥有乐视手机(乐视乐 Max 2 或 1)的上述解决方案都不起作用。试试下面的 USSD。图 1 供参考。
Press Dialer *#*#76937#*#*
选择“启用所有日志”
https://i.stack.imgur.com/DWHff.png
我放弃。
Log.d(TAG, msg);
尝试这个。
Log.wtf(TAG, msg);
为我工作。
Log.wtf()
被设计成一个完全出乎意料的状态。它类似于 SEVERE
。肯定不是DEBUG
我有一个 HUAWEI Y3 II 又名 LUA-L21。
接受的答案对我不起作用。它导致了一些 MTKLogger 设置屏幕,这与答案中描述的不同,并且根本没有帮助。
我的解决方案
拨打 *#*#2846580#*#*(请注意此代码与接受的答案中的代码不同)您刚刚进入了一个名为 EngineerMode 的设置屏幕(同样,与接受的答案的 ProjectMenu 不同)在第一个电话选项卡中,单击日志控制项 激活两个开关(设置 Mtklog 控制以捕获所有日志和 adb 无线电日志以通过 adb 捕获无线电日志) 返回上一屏幕,滑动到日志和调试选项卡 打开调试工具 将调试级别从用户模式更改为工程师模式为了更好的衡量,重启你的手机
屏幕
更改日志控制
https://i.stack.imgur.com/hYPEG.png
更改调试工具
https://i.stack.imgur.com/ZwSF6.png
补充说明
只是为了澄清我原来的问题; logcat 显示了 一些 我的应用程序的日志条目,只是 不是我自己的消息 - 我看到了属于我的进程 com.example.myapp
的条目,但从来没有我自己打印出来的任何内容,在我的代码中,使用 Log.d("TAG", "hello world");
有很多这样的东西:
4260-4270/com.example.myapp I/art: Debugger is no longer active
4260-4412/com.example.myapp I/System.out: [CDS]rx timeout:1
4260-4412/com.example.myapp D/NativeCrypto: doing handshake ++
4260-4603/com.example.myapp D/OpenGLRenderer: Flushing caches (mode 0)
4260-4603/com.example.myapp D/Surface: Surface::disconnect(this=0xb85285d8,api=1)
4260-4260/com.example.myapp D/ActivityThread: ACT-STOP_ACTIVITY_HIDE handled : 0 / android.os.BinderProxy@2333cbdf
...但从来没有这样的事情:
4260-4603/com.example.myapp D/MainActivity: hello from onCreate!
上述步骤为我解决了这个问题。
一些较新版本的华为手机(我使用的是 Y9s 2019)更改了一些设置。
流程是现在
拨打*#*#2846579#*#*
后台设置 -> AP LOG 设置 -> 打开。
如果仍然看不到日志,请重启手机和 Android Studio/Eclipse
Open your Dialer app and enter the following code: *#*#2846579#*#*.
1-Enter the Background Settings page.
2-Click on “Log Settings”
3-Check all 3 options to enable full logging.
4-Ignore the "will affect performance" warning.
5-Reboot the phone.
尝试在您的设备上下载一个 Logcat 应用程序(例如 aLogCat),看看您是否有同样的问题。我知道这不是一个完整的解决方案,但这样您就可以通过阅读应用程序日志找出问题所在。
READ_LOGS
权限集 - code.google.com/p/alogcat/issues/detail?id=41 的具体应用程序日志。
尝试这个:
在 Eclipse 编辑器中:
从 windows--> 设备重置 adb,然后重试...
请检查您的项目是否以绿色突出显示(只需选择您的项目名称)