Files

82 lines
2.3 KiB
Bash

#!/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 "=========================================="