Android 模拟器命令行不会终止
Android emulator command line will not terminate
我有一个像这样的简单 shell 脚本(运行ning on Mac):
/Users/abcdef/Library/Android/sdk/tools/emulator -avd Pixel_API_23
./gradlew assembleDebug assembleAndroidTest
fastlane screengrab
问题是在第一行 运行 之后,它可以很好地启动模拟器,但是命令停止,它不会完成,因此无法执行下一行。我试图强制停止它,但这甚至不起作用。如果我关闭那个终端,启动一个新终端,然后再次 运行 脚本,第一个命令将退出(模拟器已经 运行ning),其余的将被执行。
我想自动截取一系列设备,所以我想使用单个 shell 脚本。
模拟器命令在模拟器退出时结束。
如果模拟器没有退出,则模拟器命令没有完成。
您不想等待命令完成而继续,您可以通过 运行在后台运行它来实现:
/Users/abcdef/Library/Android/sdk/tools/emulator -avd Pixel_API_23 &
但是,脚本现在会立即继续,所以当您 运行 下一行时,模拟器还没有完成加载。您需要等到模拟器准备好接受命令。
一个简单的方法是使用 adb
:
进行投票
until adb shell true; do sleep 1; done
总而言之:
/Users/abcdef/Library/Android/sdk/tools/emulator -avd Pixel_API_23 &
until adb shell true; do sleep 1; done
./gradlew assembleDebug assembleAndroidTest
fastlane screengrab
我有一个像这样的简单 shell 脚本(运行ning on Mac):
/Users/abcdef/Library/Android/sdk/tools/emulator -avd Pixel_API_23
./gradlew assembleDebug assembleAndroidTest
fastlane screengrab
问题是在第一行 运行 之后,它可以很好地启动模拟器,但是命令停止,它不会完成,因此无法执行下一行。我试图强制停止它,但这甚至不起作用。如果我关闭那个终端,启动一个新终端,然后再次 运行 脚本,第一个命令将退出(模拟器已经 运行ning),其余的将被执行。
我想自动截取一系列设备,所以我想使用单个 shell 脚本。
模拟器命令在模拟器退出时结束。
如果模拟器没有退出,则模拟器命令没有完成。
您不想等待命令完成而继续,您可以通过 运行在后台运行它来实现:
/Users/abcdef/Library/Android/sdk/tools/emulator -avd Pixel_API_23 &
但是,脚本现在会立即继续,所以当您 运行 下一行时,模拟器还没有完成加载。您需要等到模拟器准备好接受命令。
一个简单的方法是使用 adb
:
until adb shell true; do sleep 1; done
总而言之:
/Users/abcdef/Library/Android/sdk/tools/emulator -avd Pixel_API_23 &
until adb shell true; do sleep 1; done
./gradlew assembleDebug assembleAndroidTest
fastlane screengrab