Я пишу сценарий автоматического эмулятора, который будет создавать и запускать эмулятор Android, чтобы я мог запускать свои тесты пользовательского интерфейса с любой машины и гарантировать, что он будет работать на устройстве.
Мой текущий сценарий создаетandroid-27;google_apis;x86
устройство, которое работает нормально, но в нем отсутствуют службы Google, поэтому карты в моем приложении не отображаются.
Я попытался создать эмулятор, используя google_apis_playstore
, но при загрузке устройства он запрашивает ADBподсказка отладки.Обычно это было бы хорошо, но я ожидал, что смогу запустить это на автономном сервере и не всегда смогу.
В любом случае можно ли создать эмулятор, который будет иметь google apis + maps без необходимости принимать диалог ADB?
Вот мой текущий сценарий оболочки
#!/bin/sh
# Run this script in root project dir
# Kill existing emulator
$ANDROID_HOME/platform-tools/adb devices | grep emulator | cut -f1 | while read line; do $ANDROID_HOME/platform-tools/adb -s $line emu kill; done
# Install system image
$ANDROID_HOME/tools/bin/sdkmanager "system-images;android-27;google_apis;x86"
yes | $ANDROID_HOME/tools/bin/sdkmanager --licenses
# Create emulator
echo "no" | $ANDROID_HOME/tools/bin/avdmanager create avd -f \
-n "tester" \
-k 'system-images;android-27;google_apis;x86' \
-b x86 \
-d "Nexus 5X"
# Start emulator
$ANDROID_HOME/emulator/emulator -avd tester &
# Wait for emulator to start
$ANDROID_HOME/platform-tools/adb wait-for-device shell input keyevent 82
while [ "`$ANDROID_HOME/platform-tools/adb shell getprop sys.boot_completed | tr -d '\r' `" != "1" ] ; do sleep 1; done
sleep 5;
Я получаю сообщение об ошибке при использовании google_apis_playstore
, потому что он не может выполнить adb, чтобы проверить, запущен ли эмулятор из-за диалогового окна.
error: device unauthorized.
This adb server's $ADB_VENDOR_KEYS is not set
Try 'adb kill-server' if that seems wrong.
Otherwise check for a confirmation dialog on your device.
Кажется глупым, что вам нужно будет принять разрешения на отладку для эмулятора?
Редактировать: я отправил это как ошибку https://issuetracker.google.com/issues/128271326