Ada*_*331 16 shell android android-emulator
我使用以下shell命令启动了Android模拟器:
emulator -avd TEST_AVD
Run Code Online (Sandbox Code Playgroud)
模拟器启动很好,但shell脚本永远不会完成执行.即使在模拟器完成启动后,它也会挂起.我已经尝试过其他一些我能找到的论点,但没有什么可以做我想要的.当模拟器准备就绪时,我如何知道或停止shell命令?
我正在设置我们的Jenkins CI以使用Jenkinsfile启动模拟器,然后运行一系列gradle命令.简而言之,我想这样做:
sh "emulator -avd TEST_AVD"
sh "./gradlew clean test spoon"
Run Code Online (Sandbox Code Playgroud)
但是,我不想在模拟器完成启动之前运行gradle任务,我无法弄清楚如何在终端中执行此操作.
Die*_*ano 21
如果您想在启动模拟器后执行某些操作,则应在后台启动它
emulator -avd TEST_AVD &
adb wait-for-device
# other stuff here
Run Code Online (Sandbox Code Playgroud)
adb
可以等待传输上的设备处于特定状态
adb wait-for[-<transport>]-<state>
- wait for device to be in the given state:
device, recovery, sideload, or bootloader
Transport is: usb, local or any [default=any]
Run Code Online (Sandbox Code Playgroud)
要等到设备(或仿真器)启动,您可以执行以下操作(已由?????????回答):
adb wait-for-device shell 'while [[ -z $(getprop sys.boot_completed) ]]; do sleep 1; done;'
Run Code Online (Sandbox Code Playgroud)
基本上:
device
状态sys.boot_completed
属性变为true 归档时间: |
|
查看次数: |
4569 次 |
最近记录: |