我正在编写一个python脚本,调用adb来执行JUnit测试。我已经使用'adb get-state'和'adb wait-for-device'来等待模拟器启动并准备就绪,但由于某种原因,这两个都过早启动了。这些函数返回后,当我开始运行测试时出现此错误:
android.util.AndroidException: Can't connect to activity manager; is the system running?
有没有办法可以获得活动经理的状态?如果我可以只调查那个应该足够的状态。
谢谢!
答案 0 :(得分:2)
adb wait-for-device会告诉您设备上的adbd是否有响应。但是,它是设备上的linux级守护进程,远低于通常在之后启动的android平台级别(除了刚从设置菜单启用ADB的情况)。
特别是在模拟器上,启动java级别的android运行时是一个漫长的过程,所以当adbd响应时可能会有几秒到几分钟的时间,但是没有ActivityManager可以与之交谈。
在adb wait-for-server之后,试图在一个循环中做一些你想要做的事情(可能是运行'am'命令)并且延迟一秒并检查输出可能是最简单的解决方案。 / p>