【问题标题】:Get status of activity manager获取活动管理器的状态
【发布时间】:2012-07-03 17:46:58
【问题描述】:

我正在编写一个调用 adb 以执行 JUnit 测试的 python 脚本。我已经使用“adb get-state”和“adb wait-for-device”来等待模拟器启动并准备就绪,但由于某种原因,这两个都启动得太早了。在这些函数返回后,当我开始运行测试时出现此错误:

android.util.AndroidException: Can't connect to activity manager; is the system running?

有没有办法获得活动管理器的状态?如果我能轮询那个状态就足够了。

谢谢!

【问题讨论】:

    标签: android python bash android-emulator adb


    【解决方案1】:

    adb wait-for-device 告诉您设备上的 adbd 是否响应。但是,它是设备上的一个 linux 级别的守护进程,远低于通常在之后启动的 android 平台的级别(除了刚刚从设置菜单启用 ADB 的情况)。

    特别是在模拟器上,启动 java 级别的 android 运行时是一个漫长的过程,因此 adbd 响应时可能会有几秒到几分钟的时间,但没有 ActivityManager 可以与之交谈。

    在 adb wait-for-server 之后,尝试在一个延迟一秒的循环中执行您正在尝试执行的任何操作(可能是运行“am”命令)并检查输出可能是最简单的解决方案。

    【讨论】:

    • 很抱歉,我提出了双重问题,但它引起了您的注意 :) 这就是我最终解决的问题。我只是想找到一种更确定的方法来让它发挥作用(因为在我放弃之前循环的时间可能非常可变)。
    猜你喜欢
    • 1970-01-01
    • 2022-07-14
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多