name: Android Build on: push: branches: [ master, main ] pull_request: branches: [ master, main ] workflow_dispatch: jobs: build: runs-on: android steps: - name: Checkout code uses: actions/checkout@v4 - name: Setup Java 17 run: | export JAVA_HOME=/usr/lib/jvm/java-17-openjdk export PATH=$JAVA_HOME/bin:$PATH echo "JAVA_HOME=$JAVA_HOME" >> $GITHUB_ENV echo "=== 使用 Java 17 ===" java -version - name: Build Debug APK run: | # 验证环境 echo "=== 环境检查 ===" java -version gradle --version # 生成 Gradle wrapper (使用 Gradle 8.2) echo "=== 生成 Gradle Wrapper ===" gradle wrapper --gradle-version 8.2 # 编译 Debug APK - 彻底禁用 Daemon 和所有可能导致崩溃的功能 echo "=== 开始编译 ===" ./gradlew assembleDebug \ --no-daemon \ --stacktrace \ --no-watch-fs \ --no-configuration-cache \ --no-build-cache \ -Dorg.gradle.daemon=false \ -Dorg.gradle.jvmargs="-Xmx2g -XX:+UseG1GC -XX:MaxMetaspaceSize=512m" \ -Dorg.gradle.internal.native.headers.unresolved.dependencies.ignore=true \ -Dfile.encoding=UTF-8 # 验证输出 echo "=== 编译完成 ===" ls -lh app/build/outputs/apk/debug/ - name: Upload APK uses: actions/upload-artifact@v3 with: name: app-debug path: app/build/outputs/apk/debug/app-debug.apk retention-days: 7