我需要在未插入计算机的情况下调试我的 Android 应用程序

Posted

技术标签:

【中文标题】我需要在未插入计算机的情况下调试我的 Android 应用程序【英文标题】:I need to debug my Android app while not plugged into my computer 【发布时间】:2013-06-18 22:01:17 【问题描述】:

所以,让我首先说我“相对”熟悉并熟悉制作 android 应用程序以及使用 LogCat 和 DDMS 进行调试。

话虽如此,我现在遇到的后勤问题比其他任何事情都多 - 我正在制作一个定位应用程序,其中 GPS 正在为我的 Activity 中的其他方法提供燃料和控制,但过了一会儿,它就崩溃了.

现在,因为它是定位的,所以我四处走走测试它,以便接收不同的 GPS 位置。因此,我的计算机在崩溃时没有连接到它,因此(据我所知)无法读取堆栈跟踪等。

在我的特定实例中,我正在浏览一系列活动,最后到达我的应用程序中的倒数第二个屏幕,当我在我的工作室中运行该应用程序时,它无限期地运行而没有问题。只有当我把设备带到外面时它才会崩溃......

我想知道是否有人对这个问题有任何提示或技巧 - 我肯定会给出定位应用程序的流行,它一定出现了,但我似乎找不到正确的搜索词。它可以像将 LogCat 保存到文件和/或 stackTrace 一样简单,但我不确定这就是答案......

提前致谢。

【问题讨论】:

您可以使用仿真器和 GPX 文件调试位置 ups。对于崩溃报告,您可能需要查看崩溃报告库。即崩溃论 【参考方案1】:

如果我猜对了,这就是你要找的: https://play.google.com/store/apps/details?id=org.jtb.alogcat&hl=de

编辑:还有更多这样的应用程序。您可以在 Google Play 商店中浏览

【讨论】:

嗯..谢谢。我从没想过只检查 Play 商店。这个特定的应用程序不是很有帮助 - 它似乎根本没有显示太多,所有其他的都需要 root,不幸的是,这不是这个设备上的选项...... 哦,好吧...我脑子里只有这样的应用程序,我不知道 root 不是一个选项。【参考方案2】:

与其他响应不同,您无需 root 即可调试应用程序。首先将 android 插入您的计算机,然后运行 ​​adb devices 以确保设备在那里。然后,运行tcpip 5555 将android 更改为tcp 模式,这将允许通过wifi 进行调试。断开安卓与电脑的连接,然后输入adb 192.168.x.xxx 连接到它,将x 替换为你安卓的IP 地址。只要 5555 端口打开,并且 android 和您的计算机都在同一个 wifi 上,它应该可以正常连接。

【讨论】:

【参考方案3】:

简单:无线 ADB

我选择在我的测试设备上运行 CyanogenMod 的原因之一是它是一个精简版的 Android,它具有一些额外的开发工具,其中之一是能够访问 ADB 系统的无线部分。

您可能不知道,您可以通过 WiFi 与您的设备建立 ADB 连接,但是,如果运行库存 ROM,则需要 root 访问权限,因为它可能对您的设备有害,因为 Wireless ADB 会甚至可以通过您的蜂窝网络工作,这意味着您可能会收到来自其他在此处插入运营商的设备的应用程序。

如果您想运行 WirelessADB,here is a Play Store app 将帮助您在设备上启用该功能。 需要 ROOT

只需将您的设备连接到本地 WiFi 网络(与开发计算机连接的同一网络),启用 Wireless ADB,然后在您的计算机上运行以下命令:

adb 连接 192.168.1.101

192.168.1.101 替换为您的安卓设备的IP 地址。

通过建立此连接,您可以像通过 USB 数据线插入设备一样运行一切。

【讨论】:

嗯...好的。我没有植根于这个设备。过去我使用无线 adb 将代码推送到开发设备,所以可以尝试一下,谢谢。 嗯...单独的问题,但我不会在 WiFi 上...如何在蜂窝数据上获取手机的 IP? (只是大声思考......) 如果你运行像 Cyanogen mod 这样的 ROM...你可以在你的 ConnectionInfo 中查看它,就在 WirelessADB 按钮旁边 ^.-【参考方案4】:

我推荐 ACRA(Android 应用程序崩溃报告)。它允许您将崩溃报告发送到多个不同的目的地。见https://github.com/ACRA/acra/wiki/BasicSetup

【讨论】:

谢谢,这似乎是一个不错的工具,但我是一个没有支持服务器的独立开发人员(或至少需要一个服务器),所以我将尝试另一种解决方案。虽然会投票! ;-)

以上是关于我需要在未插入计算机的情况下调试我的 Android 应用程序的主要内容,如果未能解决你的问题,请参考以下文章

monkey测试入门3

在未安装 Excel 的情况下打开、计算、关闭 MS Excel 电子表格 [EPPlus]

如何在未收到 OVER_QUERY_LIMIT 响应的情况下对 20 个地址进行地理编码?

在未安装 chrome 的情况下启动基于 selenium 的独立 exe

在未安装 .Net Framework 的情况下运行 c# 3 应用程序?

DDS Java 示例引发大量警告“在未检查异常的情况下进行 JNI 调用”