我认为AVD管理器实际上是在后台调用仿真器 CLI来启动仿真器。有没有办法查看实际的命令调用(如详细打印输出)?显然,总是可以相应地构造命令行参数,这个问题只是在寻求一种简单的方法来使用AVD管理器作为GUI生成命令。
答案 0 :(得分:1)
以某种方式在运行set -ex
之前运行它,以获得详细的输出。
一旦编写了script,它包装了模拟器。 AVD
的名称通常足以运行它;这就是我用于运行测试的脚本:
#!/bin/bash
# it starts the Nexus 7 emulator.
# export ANDROID_SERIAL=emulator-5554
PROJECT=/some/project
AVD=Nexus_7_API_22
/home/google/android-sdk/emulator/emulator \
-avd $AVD \
-gpu host \
-use-system-libs \
-no-boot-anim \
-verbose &
EMULATOR_PID=$!
adb wait-for-device
# wait for Android to finish booting
A=$(adb shell getprop sys.boot_completed | tr -d '\r')
while [ "$A" != "1" ]; do
sleep 2
A=$(adb shell getprop sys.boot_completed | tr -d '\r')
done
printf "emulator: boot completed."
# unlock the Lock Screen
# adb shell input keyevent 82
sleep 10
cd $PROJECT
# clear and capture logcat
adb logcat -c
adb logcat > ./results/logcat.log &
LOGCAT_PID=$!
# run connected tests
./gradlew mobile:connectedDebugAndroidTest -i
# stop the background processes
kill $LOGCAT_PID
kill $EMULATOR_PID