LogCat不会在真实设备中显示我自己的日志

时间:2016-05-07 19:36:29

标签: java android android-studio ide android-logcat

我在Android Studio中的测试应用很少,但有关LogCat的奇怪行为: 例如,我有这样的日志:

    protected void onCreate(Bundle savedInstanceState) {
        super.onCreate(savedInstanceState);
        Log.d(TAG, "onCreate(Bundle) called");
        ...

如果我尝试在模拟器中启动我的应用程序,我的所有日​​志都可以正常工作。 但是,如果我尝试在真实设备上启动我的应用程序,我可以从我的设备中看到很多系统日志(例如来自BatteryService),但是这里没有我自己的日志。

我已选择正确选择LogCat(我的设备)中的ADB集成和日志源。

4 个答案:

答案 0 :(得分:4)

假设您已经激活了USB调试(其他功能则不起作用)。
打开logcat并按下启动按钮。当它进入你的设备它应该正常工作。现在,如果您使用谷歌驱动器中的APK,应用程序商店或其它任何其他地方都不能用作调试访问权限。

如果您已完成上述操作,可以尝试以下方法:

正如您所看到的,“日志级别”旁边有一个搜索框。下拉式菜单。搜索您的应用程序(以包名称的格式),它将显示。从那里,您可以选择日志级别(如果您愿意)。如果您没有选择日志级别并将其设置为详细,则所有日志都将显示,所有类型的日志级别。

如果这不起作用,我们可以明确地断定它与 NOT USB调试相关的事实。然后可能是因为build.gradle文件,Android Manifest或者代码中的配置。另外,根据我的经验,Proguard会阻止日志输出,但您的输出不是来自您的应用程序。因此,如果以上都不起作用,请检查:

  • Android最低版本(通过您的应用可以处理的内容)
  • Android目标版本(与最新的当前API相比,现在是24)
  • (在应用级别的build.gradle中相同)
  • Proguard开/关

最后,如果这些都不起作用,请下载ACRA并使用最简单的后端(10行)转换日志,并在崩溃时以.txt格式在您的网站上显示日志。这是一个艰难的解决方法,但至少你可以阅读任何崩溃。

答案 1 :(得分:2)

检查def clean(text): result="" last="" for c in text: if c!=last: last = c result += c return result 中的dropdown并将选项更改为Debug或D.
您已将日志放入LogCat

选项

  1. 冗长
  2. 调试您的日志将在此案例中显示
  3. 信息
  4. 警告
  5. 错误
  6. 断言

答案 2 :(得分:0)

我发现了问题。 LogCat的奇怪行为是因为Android设备的API版本低于我的应用程序所需的API版本。

答案 3 :(得分:0)

在您的Andorid设备上尝试!

性能优化-高级日志输出