Android Logcat不会显示Log.d消息

Android Logcat不会显示Log.d消息,android,logcat,android-4.2-jelly-bean,Android,Logcat,Android 4.2 Jelly Bean,我正在开发一个Android应用程序,我希望在代码运行时能够打印调试语句。幸运的是,当我在Android2.3.3API10模拟器上运行我的应用程序时,Logcat能够打印出Log.d消息 然而,当我在物理设备三星Galaxy S4 Android 4.2.2上测试相同的应用程序时,除了dalvikvm和AndroidRuntime消息外,我看不到任何其他消息 com.android.internal.os.RuntimeInit <<<<<< 07-28 0

我正在开发一个Android应用程序,我希望在代码运行时能够打印调试语句。幸运的是,当我在Android2.3.3API10模拟器上运行我的应用程序时,Logcat能够打印出Log.d消息

然而,当我在物理设备三星Galaxy S4 Android 4.2.2上测试相同的应用程序时,除了dalvikvm和AndroidRuntime消息外,我看不到任何其他消息

com.android.internal.os.RuntimeInit <<<<<<
07-28 04:49:24.165: DEBUG/AndroidRuntime(6378): CheckJNI is OFF
07-28 04:49:24.165: DEBUG/AndroidRuntime(6378): setted country_code = USA
07-28 04:49:24.165: DEBUG/AndroidRuntime(6378): setted countryiso_code = US
07-28 04:49:24.175: DEBUG/AndroidRuntime(6378): setted sales_code = VZW
07-28 04:49:24.175: DEBUG/AndroidRuntime(6378): readGMSProperty: start
07-28 04:49:24.175: DEBUG/AndroidRuntime(6378): readGMSProperty: already setted!!
07-28 04:49:24.175: DEBUG/AndroidRuntime(6378): readGMSProperty: end
07-28 04:49:24.175: DEBUG/AndroidRuntime(6378): addProductProperty: start
07-28 04:49:24.185: DEBUG/dalvikvm(6378): Trying to load lib libjavacore.so 0x0
07-28 04:49:24.185: DEBUG/dalvikvm(6378): Added shared lib libjavacore.so 0x0
07-28 04:49:24.195: DEBUG/dalvikvm(6378): Trying to load lib libnativehelper.so 0x0
07-28 04:49:24.195: DEBUG/dalvikvm(6378): Added shared lib libnativehelper.so 0x0
07-28 04:49:24.385: DEBUG/AndroidRuntime(6378): Calling main entry com.android.commands.pm.Pm
07-28 04:49:26.978: DEBUG/AndroidRuntime(6378): Shutting down VM
07-28 04:49:26.988: DEBUG/dalvikvm(6378): GC_CONCURRENT freed 157K, 21% free 627K/788K, paused 1ms+0ms, total 4ms
07-28 04:49:26.988: DEBUG/jdwp(6378): Got wake-up signal, bailing out of select
07-28 04:49:26.988: DEBUG/dalvikvm(6378): Debugger has detached; object registry had 1 entries
07-28 04:49:27.458: DEBUG/AndroidRuntime(6420): >>>>>> AndroidRuntime START com.android.internal.os.RuntimeInit <<<<<<
07-28 04:49:27.458: DEBUG/AndroidRuntime(6420): CheckJNI is OFF
07-28 04:49:27.458: DEBUG/AndroidRuntime(6420): setted country_code = USA
07-28 04:49:27.458: DEBUG/AndroidRuntime(6420): setted countryiso_code = US
07-28 04:49:27.458: DEBUG/AndroidRuntime(6420): setted sales_code = VZW
07-28 04:49:27.458: DEBUG/AndroidRuntime(6420): readGMSProperty: start
07-28 04:49:27.458: DEBUG/AndroidRuntime(6420): readGMSProperty: already setted!!
07-28 04:49:27.458: DEBUG/AndroidRuntime(6420): readGMSProperty: end
07-28 04:49:27.458: DEBUG/AndroidRuntime(6420): addProductProperty: start
07-28 04:49:27.468: DEBUG/dalvikvm(6420): Trying to load lib libjavacore.so 0x0
07-28 04:49:27.478: DEBUG/dalvikvm(6420): Added shared lib libjavacore.so 0x0
07-28 04:49:27.478: DEBUG/dalvikvm(6420): Trying to load lib libnativehelper.so 0x0
07-28 04:49:27.478: DEBUG/dalvikvm(6420): Added shared lib libnativehelper.so 0x0
07-28 04:49:27.649: DEBUG/AndroidRuntime(6420): Calling main entry com.android.commands.am.Am
07-28 04:49:27.659: DEBUG/dalvikvm(6420): Note: class Landroid/app/ActivityManagerNative; has 169 unimplemented (abstract) methods
07-28 04:49:27.719: DEBUG/AndroidRuntime(6420): Shutting down VM
07-28 04:49:27.729: DEBUG/dalvikvm(6420): GC_CONCURRENT freed 157K, 20% free 666K/828K, paused 0ms+1ms, total 3ms
07-28 04:49:27.729: DEBUG/jdwp(6420): Got wake-up signal, bailing out of select
07-28 04:49:27.729: DEBUG/dalvikvm(6420): Debugger has detached; object registry had 1 entries
我不确定到底发生了什么,因为Logcat正确地瞄准了我的物理设备,它显示在adb设备上,并且USB调试正在进行

我尝试过使用Log.e,但这对输出没有影响

我甚至在AndroidManifest.xml中设置了android:debuggable=true

这里有我遗漏的东西吗?在物理设备上运行我的应用程序时,Logcat为什么不显示我的调试消息


编辑:我在Android 4.2.2仿真器上尝试了相同的应用程序,Logcat与仿真器的预期效果一样,但通过USB设备使用Logcat仍然存在问题。我在详细日志级别上看到的只是我发布的块,而不是普通Logcat打印输出的详细信息。

您是否为Logcat启用了USB调试?如果您的物理设备通过USB电缆连接。进入设置、应用程序、开发,然后检查USB调试


然后它应该出现在DDMS中。只需选择它即可调试/查看日志。

可能不是答案,但需要显示图片。尝试按如下方式为标记设置筛选器:

然后选择详细选项:


这有帮助吗?

您需要通过adb shell将日志记录设置为所需的级别,如下所示:

导航到android sdk文件夹中的平台工具。 使用./adb shell for linux/mac/windows powershell打开adb shell,或仅使用adb shell for windows cmd打开adb shell。 发出以下命令:


这可能是因为某些手机禁用了日志以提高性能

例如,我的手机华为P9 lite,我必须执行以下步骤才能使Log.d正常工作:

拨打**2846579** 号码可能会有所不同,您应该进行一些搜索以获取手机的密码。 进入项目菜单页面 单击背景设置 单击日志设置 检查AP日志。 由于未知原因,它会在重新打开日志设置时自动检查所有日志。 [更新]

刚才我从git中拉出来之后,它又发生了,adb shell显示如下:

open '/dev/hwlog_switch' fail -1, 13. Permission denied
log switch off, only log_main and log_events will have logs!
我用新项目进行了测试,它得到了日志,只有这个旧项目有问题。我尝试重建应用程序,重新启用上面的日志步骤,甚至重新启动手机,但仍然没有成功


然后我卸载手机中的应用程序或所有相关的productFlavors应用程序并重新安装,日志又回来了。

在某些型号上,您必须在高级日志记录上转到开发者选项,并选择Allow all

以下截图来自我的魅族MX 4 Pro:


今天,我面临同样的问题。上述解决方案对我没有任何效果。但对我有效的是在安卓工作室右边的底部,如图所示。选择图像中提到的选项。在那之后,一切都按预期进行。现在发布我的解决方案,它可能会帮助其他人


希望这对其他人有所帮助

我确实启用了USB调试,而且我的设备确实显示在DDMS中。唯一的问题是弹出的日志正是我在问题中发布的。你能给我们举个例子吗?你是如何定义登录代码的?另外,你有没有在4.2.2的模拟器上测试过它?你在logcat上有没有过滤器?你使用哪一个IDE?@Opiatefuchs从android.util.Log导入了日志,我像Log.dTAG一样使用它,这里是调试消息@Simon我在logcat上没有过滤器-这是logcat的全部输出。我使用IntelliJ IDEA 12.1.4。您是如何解决的?我也面临着同样的问题。@Hasandroid看到我的答案,我设法解决了这个问题。谢谢你发布图片,但我在Intellij IDEA中也做了同样的事情,过滤器什么也不显示。非常有用的信息,我以前从未知道。谢谢,你就是那个人!我花了几个小时试图找出为什么我没有看到任何调试日志。我所能找到的只是关于如何在android studio中更改logcat日志级别的说明。非常感谢兄弟!这段代码允许我使用log.wtf,但不允许使用log.d。这对于meS9来说已经足够了:开发者选项->日志输出级别是您在寻找使用Flyme 6.1.0.0的Meizu MX4时所需要的。您需要进入开发者选项->性能优化->高级日志;我花了很长时间才找到它…魅族m2Flyme 6.1.0.0G开发人员选项->性能优化->高级日志->设置允许allIt对魅族6 pro plus有帮助。
open '/dev/hwlog_switch' fail -1, 13. Permission denied
log switch off, only log_main and log_events will have logs!