name: Build Android App on: push: branches: - main - master - develop pull_request: branches: - main - master jobs: build: runs-on: ubuntu-latest env: ANDROID_HOME: /root/android-sdk ANDROID_SDK_ROOT: /root/android-sdk GRADLE_OPTS: -Xmx2g -XX:MaxMetaspaceSize=512m steps: - name: Checkout code uses: actions/checkout@v4 - name: Setup Java uses: actions/setup-java@v4 with: distribution: "zulu" java-version: "17" - name: Install dependencies run: apt-get update && apt-get install -y jq wget unzip - name: Setup Android SDK run: | mkdir -p /root/android-sdk/cmdline-tools cd /root/android-sdk/cmdline-tools wget -q https://dl.google.com/android/repository/commandlinetools-linux-11076708_latest.zip -O tools.zip unzip -q tools.zip mv cmdline-tools latest rm tools.zip yes | /root/android-sdk/cmdline-tools/latest/bin/sdkmanager --licenses > /dev/null 2>&1 || true /root/android-sdk/cmdline-tools/latest/bin/sdkmanager "platform-tools" "platforms;android-34" "build-tools;34.0.0" - name: Setup Flutter uses: subosito/flutter-action@v2 with: channel: "beta" cache: true - name: Fix flutter git ownership run: git config --global --add safe.directory '*' - name: Configure Flutter run: | flutter config --android-sdk /root/android-sdk flutter doctor -v - name: Get dependancies run: flutter pub get - name: Build APK run: flutter build apk --release - name: Build App Bundle run: flutter build appbundle --release - name: Upload APK uses: actions/upload-artifact@v4 with: name: android-apk path: build/app/outputs/flutter-apk/app-release.apk - name: Upload App Bundle uses: actions/upload-artifact@v4 with: name: android-appbundle path: build/app/outputs/bundle/release/app-release.aab