ci: pin ANDROID_AVD_HOME so the API 37 preview emulator finds its AVD
The preview emulator failed every boot with "Unknown AVD name [api37]" and exited immediately (no device -> the bounded wait timed out). avdmanager had created the AVD under $ANDROID_SDK_HOME/.android/avd while the emulator searched $ANDROID_SDK_HOME/avd and $HOME/.android/avd. Pin ANDROID_AVD_HOME to one path both tools use, carry it to the boot step via $GITHUB_ENV, and list AVDs after creation to verify. Co-Authored-By: Claude Opus 4.8 <noreply@anthropic.com>
This commit is contained in:
@@ -222,7 +222,16 @@ jobs:
|
||||
run: sdkmanager "$ANDROID_PLATFORM" "$ANDROID_BUILD_TOOLS" "platform-tools" "emulator" "$API37_IMAGE"
|
||||
|
||||
- name: Create API 37 AVD
|
||||
run: echo "no" | avdmanager create avd -n api37 -k "$API37_IMAGE" -d pixel_2 --force
|
||||
run: |
|
||||
# avdmanager and the emulator disagree on the default AVD dir when ANDROID_SDK_HOME is set
|
||||
# on the runner (avdmanager writes $ANDROID_SDK_HOME/.android/avd; the emulator looks in
|
||||
# $ANDROID_SDK_HOME/avd), which made the boot step report "Unknown AVD name [api37]". Pin
|
||||
# ANDROID_AVD_HOME so both agree, and carry it to the boot step via $GITHUB_ENV.
|
||||
export ANDROID_AVD_HOME="$HOME/.android/avd"
|
||||
echo "ANDROID_AVD_HOME=$ANDROID_AVD_HOME" >> "$GITHUB_ENV"
|
||||
mkdir -p "$ANDROID_AVD_HOME"
|
||||
echo "no" | avdmanager create avd -n api37 -k "$API37_IMAGE" -d pixel_2 --force
|
||||
echo "AVDs visible to the emulator:"; "$ANDROID_SDK_ROOT/emulator/emulator" -list-avds
|
||||
|
||||
- name: Boot emulator and run E2E
|
||||
run: |
|
||||
|
||||
Reference in New Issue
Block a user