Files
android-ci-demo/.gitea/workflows/android-build.yml
T
2026-06-02 11:31:23 +08:00

61 lines
1.7 KiB
YAML

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
# 设置 Android SDK 环境变量
export ANDROID_HOME=/opt/android-sdk
export ANDROID_SDK_ROOT=$ANDROID_HOME
export PATH=$ANDROID_HOME/cmdline-tools/latest/bin:$ANDROID_HOME/platform-tools:$ANDROID_HOME/build-tools/34.0.0:$PATH
# 直接使用系统 Gradle 8.14.4 编译(避免 Gradle 8.2 wrapper 在 Alpine 上的 JVM 崩溃问题)
echo "=== 开始编译 ==="
gradle 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