Spaces:
Sleeping
Sleeping
| # Android Build Script for Capacitor App | |
| # Usage: ./build-android.sh [environment] [build-type] | |
| # | |
| # Environments: bundled-cf (default), bundled-hf, cloudflare, hf, local | |
| # Build types: debug (default), release | |
| set -e | |
| ENV="${1:-bundled-cf}" | |
| BUILD_TYPE="${2:-debug}" | |
| echo "ββββββββββββββββββββββββββββββββββββββββββββββββ" | |
| echo " Building Android APK" | |
| echo " Environment: $ENV" | |
| echo " Build Type: $BUILD_TYPE" | |
| echo "ββββββββββββββββββββββββββββββββββββββββββββββββ" | |
| # Step 1: Build web assets | |
| echo "" | |
| echo "β Building web assets..." | |
| export CAPACITOR_SERVER_IP_ENV="$ENV" | |
| npm run build | |
| # Step 2: Sync to Android | |
| echo "" | |
| echo "β Syncing to Android..." | |
| npx cap sync android | |
| # Step 3: Build APK | |
| echo "" | |
| echo "β Building APK..." | |
| cd android | |
| chmod +x gradlew | |
| if [ "$BUILD_TYPE" = "release" ]; then | |
| ./gradlew assembleRelease | |
| APK_PATH="app/build/outputs/apk/release/app-release-unsigned.apk" | |
| else | |
| ./gradlew assembleDebug | |
| APK_PATH="app/build/outputs/apk/debug/app-debug.apk" | |
| fi | |
| cd .. | |
| # Done | |
| echo "" | |
| echo "ββββββββββββββββββββββββββββββββββββββββββββββββ" | |
| echo " β Build Complete!" | |
| echo " APK: android/$APK_PATH" | |
| echo "ββββββββββββββββββββββββββββββββββββββββββββββββ" | |
| # Optional: Copy to easy location | |
| if [ -f "android/$APK_PATH" ]; then | |
| cp "android/$APK_PATH" "./app-$ENV-$BUILD_TYPE.apk" | |
| echo " Copied to: ./app-$ENV-$BUILD_TYPE.apk" | |
| fi | |