name: Build Android App on: push: branches: - main - master - develop pull_request: branches: - main - master jobs: build: runs-on: ubuntu-latest 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 $HOME/android-sdk/cmdline-tools cd $HOME/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 echo "ANDROID_HOME=$HOME/android-sdk" >> $GITHUB_ENV echo "ANDROID_SDK_ROOT=$HOME/android-sdk" >> $GITHUB_ENV echo "$HOME/android-sdk/cmdline-tools/latest/bin" >> $GITHUB_PATH echo "$HOME/android-sdk/platform-tools" >> $GITHUB_PATH yes | $HOME/android-sdk/cmdline-tools/latest/bin/sdkmanager --licenses > /dev/null 2>&1 || true $HOME/android-sdk/cmdline-tools/latest/bin/sdkmanager "platform-tools" "platforms;android-34" "build-tools;34.0.0" > /dev/null - name: Setup Flutter uses: subosito/flutter-action@v2 with: channel: "beta" - name: Fix flutter git ownership run: git config --global --add safe.directory '*' - 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