繁体   English   中英

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

[英]LogCat doesn't show my own logs in real device

我在Android Studio中几乎没有测试应用程序,但它与LogCat有关的行为却很奇怪:例如,我有这样的日志:

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

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

我已启用ADB集成,并且LogCat中的日志源选择正确(我的设备)。

假设您已经激活了USB调试(否则将无法工作)。
打开logcat并按启动按钮。 并且随着它进入您的设备,它应该可以正常工作。 现在,如果您使用的是Google云端硬盘中的APK,则应用商店或其他任何地方都无法使用,因为那里没有调试访问权限。

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

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

如果还是不行,我们可以definitivly的事实,它不是 USB调试相关的结论。 则可能是由于build.gradle文件,Android Manifest或代码中的配置所致。 另外,以我的经验,Proguard会阻止日志输出,但是您只是从应用程序中获取输出。 因此,如果以上方法均无效,请检查:

  • Android最低版本(根据您的应用可以处理的版本)
  • Android目标版本(与最新的当前API(目前为24)相比)
  • (在应用程序级别的build.gradle中相同)
  • Proguard开/关

最后,如果这些都不起作用,请下载ACRA并使用最简单的后端(10行)转换日志,当崩溃时,您会将日志以.txt格式保存在网站上。 这是一个艰难的解决方法,但至少您将能够读取任何崩溃信息。

检查LogCatdropdown ,然后将选项更改为Debug或D。
正在将日志放入Log.d("TAG","MSG");

选项是

  1. 详细
  2. 调试 您的日志将在这种情况下出现
  3. 信息
  4. 警告
  5. 错误
  6. 断言

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

在您的Andorid设备上尝试!

性能优化-高级日志输出

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM