22set -euo pipefail
33
44API_LEVEL=" 36"
5- DEVICE_ID=" pixel_9 "
5+ DEVICE_ID=" pixel_7 "
66ARCH=$( uname -m)
77if [ " $ARCH " = " arm64" ] || [ " $ARCH " = " aarch64" ]; then
88 ABI=" arm64-v8a"
1111fi
1212TAG=" google_apis_playstore"
1313SYSTEM_IMAGE=" system-images;android-${API_LEVEL} ;${TAG} ;${ABI} "
14- AVD_NAME=" Pixel9 -API${API_LEVEL} -Enriched"
14+ AVD_NAME=" Pixel7 -API${API_LEVEL} -Enriched"
1515PORT=5570
1616SERIAL=" emulator-${PORT} "
1717
@@ -39,28 +39,18 @@ if ! sdkmanager --list_installed 2>/dev/null | grep -q "system-images;android-${
3939 sdkmanager " $SYSTEM_IMAGE "
4040fi
4141
42- # Pixel 9 screen specs injected into config.ini only when the native profile isn't available.
43- PIXEL_9_LCD_WIDTH=" 1080"
44- PIXEL_9_LCD_HEIGHT=" 2424"
45- PIXEL_9_LCD_DENSITY=" 420"
46-
47- AVD_DEVICE_PROFILE=" $DEVICE_ID "
48- PATCH_PIXEL9_DIMENSIONS=" "
4942if ! avdmanager list device -c | grep -qx " $DEVICE_ID " ; then
50- AVD_DEVICE_PROFILE=" pixel_7"
51- PATCH_PIXEL9_DIMENSIONS=" true"
52- if ! avdmanager list device -c | grep -qx " $AVD_DEVICE_PROFILE " ; then
53- echo " Error: Neither '$DEVICE_ID ' nor fallback '$AVD_DEVICE_PROFILE ' device definition found."
54- exit 1
55- fi
56- echo " Warning: '$DEVICE_ID ' not found, using '$AVD_DEVICE_PROFILE ' as base and patching Pixel 9 screen dimensions."
43+ echo " Error: Device definition '$DEVICE_ID ' not found."
44+ exit 1
5745fi
5846
5947if ! avdmanager list avd -c | grep -qx " ${AVD_NAME} " ; then
6048 echo " Creating AVD '$AVD_NAME '..."
61- CREATE_CMD=(avdmanager create avd --name " $AVD_NAME " --device " $AVD_DEVICE_PROFILE " --package " $SYSTEM_IMAGE " )
62- [ -z " $PATCH_PIXEL9_DIMENSIONS " ] && CREATE_CMD+=(--skin " $DEVICE_ID " )
63- echo " no" | " ${CREATE_CMD[@]} "
49+ echo " no" | avdmanager create avd \
50+ --name " $AVD_NAME " \
51+ --device " $DEVICE_ID " \
52+ --package " $SYSTEM_IMAGE " \
53+ --skin " $DEVICE_ID "
6454fi
6555
6656AVD_CONFIG=" $HOME /.android/avd/${AVD_NAME} .avd/config.ini"
@@ -69,16 +59,6 @@ if [ -f "$AVD_CONFIG" ]; then
6959 grep -q " ^hw.keyboard=" " $AVD_CONFIG " || echo " hw.keyboard=yes" >> " $AVD_CONFIG "
7060 sed -i.bak ' s/^hw\.mainKeys=.*/hw.mainKeys=yes/' " $AVD_CONFIG "
7161 grep -q " ^hw.mainKeys=" " $AVD_CONFIG " || echo " hw.mainKeys=yes" >> " $AVD_CONFIG "
72- # Only patch screen dimensions when using the fallback profile; the native pixel_9
73- # profile already sets the correct values via the skin.
74- if [ -n " $PATCH_PIXEL9_DIMENSIONS " ]; then
75- sed -i.bak " s/^hw\.lcd\.width=.*/hw.lcd.width=${PIXEL_9_LCD_WIDTH} /" " $AVD_CONFIG "
76- grep -q " ^hw.lcd.width=" " $AVD_CONFIG " || echo " hw.lcd.width=${PIXEL_9_LCD_WIDTH} " >> " $AVD_CONFIG "
77- sed -i.bak " s/^hw\.lcd\.height=.*/hw.lcd.height=${PIXEL_9_LCD_HEIGHT} /" " $AVD_CONFIG "
78- grep -q " ^hw.lcd.height=" " $AVD_CONFIG " || echo " hw.lcd.height=${PIXEL_9_LCD_HEIGHT} " >> " $AVD_CONFIG "
79- sed -i.bak " s/^hw\.lcd\.density=.*/hw.lcd.density=${PIXEL_9_LCD_DENSITY} /" " $AVD_CONFIG "
80- grep -q " ^hw.lcd.density=" " $AVD_CONFIG " || echo " hw.lcd.density=${PIXEL_9_LCD_DENSITY} " >> " $AVD_CONFIG "
81- fi
8262 rm -f " $AVD_CONFIG .bak"
8363fi
8464
0 commit comments