1818# - docs : every repository-local Markdown target exists.
1919# - firmware-host : shell gates plus the complete Python host/release suite.
2020# - android-webview : real Blockly platform-WebView integration on a clean,
21- # pinned Android 14 / API 34 Google APIs x86_64 AVD.
21+ # pinned Android 14 / API 34 AOSP x86_64 AVD.
2222# - build : cross-compile the empty agent for esp32 / esp32-s3 / esp32-c3
2323# (BLD-3/4/5) — the REAL toolchain job (installs ESP-IDF + submodule).
2424name : ci
@@ -226,11 +226,11 @@ jobs:
226226 run :
227227 working-directory : app
228228 env :
229- PYBLE_ANDROID_IMAGE : system-images;android-34;google_apis ;x86_64
229+ PYBLE_ANDROID_IMAGE : system-images;android-34;default ;x86_64
230230 PYBLE_ANDROID_COMPILE_PLATFORM : platforms;android-36
231231 PYBLE_ANDROID_BUILD_TOOLS : build-tools;36.0.0
232232 PYBLE_ANDROID_NDK : ndk;28.2.13676358
233- PYBLE_ANDROID_AVD : pyble_api34_google_apis
233+ PYBLE_ANDROID_AVD : pyble_api34_aosp
234234 PYBLE_ANDROID_SERIAL : emulator-5554
235235 PYBLE_ANDROID_LOG_DIR : /tmp/pyble-android-integration
236236 PYBLE_ANDROID_RAW_EMULATOR_LOG : /tmp/pyble-android-emulator.log
@@ -347,7 +347,7 @@ jobs:
347347 "ANDROID_NDK_PATH=$ANDROID_NDK_PATH" \
348348 "ANDROID_NDK_LATEST_HOME=$ANDROID_NDK_LATEST_HOME" \
349349 >> "$GITHUB_ENV"
350- - name : Create API 34 Google APIs x86_64 tablet AVD
350+ - name : Create API 34 AOSP x86_64 tablet AVD
351351 shell : bash
352352 run : |
353353 set -euo pipefail
@@ -369,8 +369,8 @@ jobs:
369369 # avdmanager pre-populates these keys. Upsert them so the emulator
370370 # cannot select an earlier device-profile value from a duplicate.
371371 python3 ../tools/ci/android_avd_config.py "$AVD_CONFIG" \
372- --set 'hw.ramSize=2048 ' \
373- --set 'hw.cpu.ncore=2 ' \
372+ --set 'hw.ramSize=4096 ' \
373+ --set 'hw.cpu.ncore=4 ' \
374374 --set 'vm.heapSize=384' \
375375 --set 'disk.dataPartition.size=6144M' \
376376 --set 'hw.lcd.width=2560' \
@@ -425,8 +425,8 @@ jobs:
425425 -camera-front none \
426426 -accel on \
427427 -gpu swiftshader_indirect \
428- -memory 2048 \
429- -cores 2 \
428+ -memory 4096 \
429+ -cores 4 \
430430 >"$PYBLE_ANDROID_RAW_EMULATOR_LOG" 2>&1 &
431431 EMULATOR_PID=$!
432432 printf '%s\n' "$EMULATOR_PID" \
@@ -524,10 +524,35 @@ jobs:
524524 exit 1
525525 fi
526526
527- # A cold Google APIs image keeps dispatching setup broadcasts after
528- # sys.boot_completed. Let them settle before the prebuilt app is
529- # installed, so driver attachment cannot race an Activity relaunch.
527+ # Let the cold AOSP image settle before the prebuilt app is installed,
528+ # so driver attachment cannot race an Activity relaunch.
530529 sleep 20
530+
531+ GMS_PACKAGES="$(
532+ "$PYBLE_ANDROID_ADB" -s "$PYBLE_ANDROID_SERIAL" shell \
533+ pm list packages com.google.android.gms 2>/dev/null \
534+ | tr -d '\r' || true
535+ )"
536+ if [ -n "$GMS_PACKAGES" ]; then
537+ echo "The Android integration image unexpectedly contains GMS:" >&2
538+ printf '%s\n' "$GMS_PACKAGES" >&2
539+ exit 1
540+ fi
541+
542+ "$PYBLE_ANDROID_ADB" -s "$PYBLE_ANDROID_SERIAL" shell \
543+ dumpsys webviewupdate \
544+ >"$PYBLE_ANDROID_LOG_DIR/webview-provider.txt"
545+ WEBVIEW_LINE="$(
546+ grep -F \
547+ 'Current WebView package (name, version): (com.android.webview,' \
548+ "$PYBLE_ANDROID_LOG_DIR/webview-provider.txt" || true
549+ )"
550+ if [ -z "$WEBVIEW_LINE" ]; then
551+ echo "The AOSP WebView provider is not current:" >&2
552+ cat "$PYBLE_ANDROID_LOG_DIR/webview-provider.txt" >&2
553+ exit 1
554+ fi
555+ printf '%s\n' "$WEBVIEW_LINE"
531556 "$PYBLE_ANDROID_ADB" -s "$PYBLE_ANDROID_SERIAL" logcat -c
532557 - name : Real About + Blockly integration (Android API 34)
533558 shell : bash
@@ -561,7 +586,7 @@ jobs:
561586 echo "Installed Android package revisions:"
562587 for PROPERTIES in \
563588 "$PYBLE_ANDROID_SDK_ROOT/emulator/source.properties" \
564- "$PYBLE_ANDROID_SDK_ROOT/system-images/android-34/google_apis /x86_64/source.properties"
589+ "$PYBLE_ANDROID_SDK_ROOT/system-images/android-34/default /x86_64/source.properties"
565590 do
566591 if [ -f "$PROPERTIES" ]; then
567592 echo "[$PROPERTIES]"
0 commit comments