2016-05-07 70 views
0

,我很少有测试程序Android Studio中有关于logcat的奇怪的行为: 比如我的日志是这样的:logcat中不显示我自己的日志在真实设备

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

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

我已经启用了ADB集成和LogCat中的日志源选择权(我的设备)。

回答

0

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

2

您在LogCatdropdown和选项更改为调试或D.
被你已经把你的日志中Log.d("TAG","MSG");

选项是

  1. 放牧
  2. 调试你的日志会出现在这种情况下
  3. 资讯
  4. 警告
  5. 错误
  6. 断言
+0

它没有帮助(我在写一篇文章之前尝试过)。 我也尝试为它创建我自己的过滤器。它适用于仿真器,但不适用于真正的设备。 –

+1

希望你已经启用了开发者选项。尝试连接设备并查看是否可以通过计算机查看海量内存。清理完成后直接运行你的版本,然后重建项目 – Stallion

+0

你是对的。这是一个问题 - 我只能通过计算机看到我的SD卡,而不是嵌入式内存。 –

3

假设你已经有USB调试启用(othervise它不会工作)。
打开logcat并按下启动按钮。并且当它到达您的设备时它应该正常工作。现在,如果您使用的是谷歌驱动器,应用商店或其他任何地方的APK,则无法使用调试访问功能。

如果你已经完成了上面,你可以试试这个方法:

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

如果那不起作用,我们可以definitivly结束与事实,它是不是 USB调试相关。那么可能是因为build.gradle文件,Android Manifest或代码中的配置。另外,根据我的经验,Proguard可以防止日志输出,但是不会从应用中获得输出。因此,如果没有上述工作,请检查:

  • 的Android分钟版本(由你的应用程序可以处理)
  • Android的目标版本(与最新的当前API相比,这是现在24)
  • (同样的构建。gradle这个在应用层面)
  • Proguard的开/关

最后,如果没有这样的作品,下载ACRA,并使用最简单的后端(10线)转换日志,你必须在你的网站日志以.txt格式崩溃。这是一个艰难的解决方法,但至少您可以阅读任何崩溃。

+0

)当你说“打开logcat”时,你的意思是什么意思Logcat是由Android Studio自动启动的,我找不到任何独立的启动器 你可以帮我吗? –

+1

通过“打开logcat”我的意思是你做它,所以你看到输出区域的LogCat。如果你想看到它的工作,连接你的设备与USB调试(让我知道如果你不知道这是什么),并导致一个空指针。只要它发生在设备连接时,LogCat会引导你到你的计算机上的错误 – Zoe

+1

http://www.wikihow.com/Enable-the-USB-Debugging- Mode-on-Samsung-Galaxy-S3-and-Newer-Models或http://www.wikihow.com/Enable-USB-Debugging-Mode-on-Android-Devices激活USB调试 – Zoe

相关问题