#!/bin/bash # Build Android APK set -e # Source Rust environment source "$HOME/.cargo/env.fish" 2>/dev/null || source "$HOME/.cargo/env" 2>/dev/null || true # Set Android environment variables export ANDROID_HOME="$HOME/Android/Sdk" export NDK_HOME="$ANDROID_HOME/ndk/$(ls "$ANDROID_HOME/ndk" | head -1)" echo "๐Ÿค– Building Android APK..." echo "Android SDK: $ANDROID_HOME" echo "NDK: $NDK_HOME" echo "" # Build type: debug or release (default: debug) BUILD_TYPE="${1:-debug}" # Step 0: Clear build caches to ensure fresh builds echo "๐Ÿงน Clearing build caches..." rm -rf node_modules/.vite dist .svelte-kit .next build target src-tauri/target 2>/dev/null || true npm install > /dev/null 2>&1 # Step 1: Sync Android source files echo "๐Ÿ”„ Syncing Android sources..." ./scripts/sync-android-sources.sh # Step 2: Build the frontend first to avoid dev server issues echo "๐ŸŽจ Building frontend..." bun run build # Step 2: Build Android APK if [ "$BUILD_TYPE" = "release" ]; then echo "๐Ÿ“ฆ Building release APK..." bun run tauri android build --apk true else echo "๐Ÿ“ฆ Building debug APK..." bun run tauri android build --apk true --debug fi echo "" echo "โœ… APK build complete!" echo "๐Ÿ“ฑ APK location: src-tauri/gen/android/app/build/outputs/apk/"