#!/bin/bash set -e echo "==========================================" echo " ChunYu Android Tools Container" echo "==========================================" # Configuration ANDROID_HOST="${ANDROID_HOST:-android}" ANDROID_PORT="${ANDROID_PORT:-5555}" APK_PATH="${APK_PATH:-/app/apks/app-debug.apk}" LAUNCH_ACTIVITY="${LAUNCH_ACTIVITY:-com.chunyu.app/.MainActivity}" WAIT_TIMEOUT="${WAIT_TIMEOUT:-120}" echo "[1/4] Waiting for Android emulator (${ANDROID_HOST}:${ANDROID_PORT})..." # Wait for the emulator to be reachable via ADB counter=0 while [ $counter -lt $WAIT_TIMEOUT ]; do if adb connect "${ANDROID_HOST}:${ANDROID_PORT}" 2>/dev/null | grep -q "connected"; then echo " ✓ Connected to Android emulator!" break fi sleep 2 counter=$((counter + 2)) echo " ...waiting for emulator (${counter}s/${WAIT_TIMEOUT}s)" done if [ $counter -ge $WAIT_TIMEOUT ]; then echo " ✗ Timeout waiting for emulator" exit 1 fi # Wait for ADB device to be ready adb wait-for-device echo " ✓ ADB device ready!" # Wait for boot to complete echo "[2/4] Waiting for Android boot..." counter=0 while [ $counter -lt $WAIT_TIMEOUT ]; do boot_status=$(adb shell getprop sys.boot_completed 2>/dev/null || echo "") if [ "$boot_status" = "1" ]; then echo " ✓ Android boot completed!" break fi sleep 2 counter=$((counter + 2)) echo " ...waiting for boot (${counter}s/${WAIT_TIMEOUT}s)" done if [ $counter -ge $WAIT_TIMEOUT ]; then echo " ✗ Timeout waiting for boot" exit 1 fi echo "[3/4] Installing APK..." if [ -f "$APK_PATH" ]; then echo " Installing: $APK_PATH" adb install -r -t "$APK_PATH" 2>&1 || echo " ⚠ APK install failed" echo " ✓ APK installation attempted!" else echo " ⚠ APK not found at $APK_PATH" echo " Mount the APK to /app/apks/app-debug.apk" fi echo "[4/4] Launching application..." adb shell am start -n "$LAUNCH_ACTIVITY" 2>&1 || echo " ⚠ Launch failed" echo " ✓ Launch attempted!" echo "" echo "==========================================" echo " Android Tools Complete!" echo "==========================================" echo "" echo " To connect from host:" echo " adb connect localhost:5555" echo "" echo " To view logcat:" echo " adb logcat" echo "=========================================="