63 lines
1.8 KiB
YAML
63 lines
1.8 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.properties 配置自定义 aapt2(ARM64 版本)
|
||
echo "android.aapt2FromMavenOverride=/usr/bin/aapt2" >> gradle.properties
|
||
echo "org.gradle.jvmargs=-Xmx2g -XX:+UseG1GC -XX:MaxMetaspaceSize=512m" >> gradle.properties
|
||
echo "org.gradle.daemon=false" >> gradle.properties
|
||
|
||
# 直接使用系统 Gradle 8.14.4 编译(使用 ARM64 aapt2)
|
||
echo "=== 开始编译 ==="
|
||
gradle assembleDebug \
|
||
--no-daemon \
|
||
--stacktrace \
|
||
--no-watch-fs \
|
||
--no-configuration-cache \
|
||
--no-build-cache \
|
||
-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
|