在 Python 中使用以下命令运行虚拟机后:
os.system('emulator -avd Galaxy_Note9_API_27 -writable-system -no-snapshot-update-time')
我尝试等待另一个命令(下面的命令),直到设备完全加载
os.system("adb -s emulator-5554 wait-for-device shell 'while [[ -z $(getprop dev.bootcomplete) ]] ; do sleep 1; done'")
但我对上面代码的问题是它是一个 while 循环,但我希望它的方式是这样的:如果在等待设备加载 120 秒后,它会向我返回一个错误,因为我遇到了这个问题很多,我的设备在运行时会崩溃,我会陷入无限循环
不清楚为什么使用
python
来调用 adb
命令,但是如果有原因,您可以使用 subprocess
,出于许多其他原因,但因为它也支持超时,而不是 os.system
:
subprocess.run(["adb", "-s", "emulator-5554", "wait-for-device"], timeout=120)