调试没有USB或root的Android应用程序

时间:2013-10-21 14:25:24

标签: android logging usb

我目前正在开发一个小型Android应用程序,它通过USB与FTDI芯片进行通信,因此我无法使用logcat来获取日志。不幸的是Android设备是带有Android 4.1.2的Galaxy Tab 2,我不允许root。这意味着adb-wireless也不会起作用。而且因为它只是一个小应用程序,建立像ACRA这样的bugtracker系统似乎有点过大。

有没有其他方法可以获取我的应用程序的日志?

非常感谢

4 个答案:

答案 0 :(得分:2)

我想不出任何“实时”logcat输出,但您可以通过adb logcat查看Logcat输出(缓冲)。测试您要执行的应用中的内容或获取您尝试解决的错误,然后将USB连接到运行adb的计算机并转储日志。

可以找到logcat命令的更多信息here

答案 1 :(得分:2)

您可以创建一个实用程序函数来打开HTTP连接并写入Web服务器。 这会给您的应用程序增加一点开销,但可以正常工作以获取日志信息。 易于实施,无需生根!

或者您可以编写一个运行Web服务器的小服务,该服务器使用logcat(或尾巴或logcat或其他东西)上的转储来响应请求。

甚至可以编写一个使用curl或wget来执行此操作的shell脚本(即将get请求发送到Web服务器以传递logcat输出),但是您可能需要安装它们,而这反过来又是可能需要root,所以......也许这不符合你的需求。

我想甚至有可能在您的工作站上创建网络共享,将其安装在您的Android设备上,然后将logcat输出重定向到共享上的文件。但我没有尝试过 - 如果你这样做,请告诉我!

答案 2 :(得分:1)

您可以使用Logcat或其他类似应用,这样可以提供与IDE Logcat控制台相同的输出。 您可以打开日志记录,在应用程序中执行操作,然后返回到logcat应用程序以查看日志,将其邮寄给自己等。

答案 3 :(得分:0)

我做了一些研究,似乎没有root权限就没有机会轻松阅读日志。您可以在Android应用程序中使用ACRA等错误跟踪库来读取logcat输出,但要包含它们并分析日志需要付出更多努力。

我现在将使用adb-wireless在我自己的(root)平板电脑上进行开发。