解决方法
关键是要了解如何使用Dalvik Debug Monitor Server (DDMS)并了解使用Java和Eclipse进行远程调试.简而言之,请遵循以下步骤:
>单击Window>在Eclipse中设置DDMS透视图. Open Perspective>其他…> DDMS.假设您正在运行模拟器/设备,您应该会在“设备”选项卡中看到您的设备.
>设置远程调试配置.要执行此操作,请转到“运行”>调试配置……
>右键单击左侧面板中的Remote Java Application,然后单击“新建”以创建新配置.
>在连接属性中使用localhost和端口8700.在我的情况下,我使用的是在本地开发计算机上运行的模拟器. DDMS的默认端口是8700.如果您的设置不是这种情况,则可以在调试模式下运行UI Automator脚本后从DDMS透视图检查需要哪个端口. (见下面的步骤7-9)
>确保您选择的项目是您将要运行的UI Automation项目.在“源”选项卡中,您还可以在其中添加UI自动化项目. (不确定这是否是强制性的)
>单击“应用”,然后关闭.
>现在我们将使用命令行开始使用debug选项运行UI Automator脚本.对于我的例子,命令是(全部在一行):
adb shell uiautomator runtest AndroidUIAutomation.jar -c com.example.uiautomation.TestUiAutomation -e debug true
>然后会说:
发送WAIT块
>在Eclipse中进入DDMS视角.在Devices选项卡下,您应该看到一个带有一点红色bug符号的进程.它旁边将是一个问号.在表格的最后一列中,将有两个端口号,例如8602/8700.端口8700是您将远程调试会话连接到的端口.这是应在上面的步骤4中配置的内容.
>现在您已准备好开始远程调试.在UI Automator脚本中的某处设置断点.然后转到Run>进行调试调试配置…然后选择您之前创建的远程Java应用程序配置,然后单击“调试”.
如果一切顺利,那么您应该能够调试UI Automator脚本!