name: Android Build on: push: branches: [ "main" ] pull_request: branches: [ "main" ] jobs: build: runs-on: ubuntu-latest steps: - uses: actions/checkout@v4 - name: Set up JDK 17 uses: actions/setup-java@v4 with: java-version: '17' distribution: 'temurin' cache: gradle - name: Grant execute permission for gradlew run: chmod +x gradlew - name: Generate debug keystore for release signing run: | keytool -genkeypair \ -keystore debug.keystore \ -storepass android \ -alias androiddebugkey \ -keypass android \ -keyalg RSA \ -keysize 2048 \ -validity 10000 \ -dname "CN=Android Debug,O=Android,C=US" - name: Configure signing for release build run: | echo "android.enableJetifier=true" >> gradle.properties echo "android.useAndroidX=true" >> gradle.properties echo "org.gradle.parallel=true" >> gradle.properties echo "android.debug.keystore=debug.keystore" >> gradle.properties echo "android.debug.storePassword=android" >> gradle.properties echo "android.debug.keyPassword=android" >> gradle.properties echo "android.debug.keyAlias=androiddebugkey" >> gradle.properties - name: Build release APK run: ./gradlew assembleRelease - name: Upload APK uses: actions/upload-artifact@v4 with: name: app-release path: app/build/outputs/apk/release/app-release.apk