You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

如何配置GitHub Enterprise自托管运行器以构建Android APK?

配置GitHub Enterprise自托管运行器构建Android APK

一、添加并配置自托管运行器

  1. 在GitHub Enterprise仓库(或组织)的Settings → Actions → Runners页面,点击Add runner
  2. 根据运行器的操作系统(推荐Linux),复制页面提供的命令执行:
    • 下载运行器安装包:curl -o actions-runner-linux-x64-2.309.0.tar.gz -L https://<你的GHES域名>/actions/runner/releases/download/v2.309.0/actions-runner-linux-x64-2.309.0.tar.gz(版本号以实际页面显示为准)
    • 解压安装包:tar xzf actions-runner-linux-x64-2.309.0.tar.gz
    • 初始化配置:./config.sh --url https://<你的GHES域名>/<用户名>/<仓库名> --token <页面提供的临时token>
    • 注册为系统服务(实现开机自启):sudo ./svc.sh install && sudo ./svc.sh start

二、准备运行器的Android构建环境

在自托管运行器上手动安装以下依赖:

  • OpenJDK 11:Android构建的推荐JDK版本,安装后将JAVA_HOME写入运行器用户的~/.bashrc或系统环境配置文件,示例:export JAVA_HOME=/usr/lib/jvm/java-11-openjdk-amd64
  • Android SDK命令行工具:
    1. 下载并解压Android SDK命令行工具到指定目录(如/opt/android-sdk)
    2. 设置ANDROID_HOME环境变量:export ANDROID_HOME=/opt/android-sdk
    3. 使用sdkmanager安装必要组件:
      sdkmanager "platforms;android-33" \
                 "build-tools;33.0.2" \
                 "platform-tools" \
                 "extras;android;m2repository" \
                 "extras;google;m2repository"
      
  • Gradle:无需全局安装,通过项目根目录的gradlew wrapper自动下载即可,确保运行器用户拥有该文件的执行权限

三、编写无开源Action的工作流文件

在仓库根目录创建.github/workflows/build-android.yml,内容如下:

name: Build Android APK
on:
  push:
    branches: [ main ]
  pull_request:
    branches: [ main ]

jobs:
  build-apk:
    runs-on: self-hosted
    steps:
      - name: Checkout code
        run: |
          git init
          git remote add origin https://<你的GHES域名>/<用户名>/<仓库名>.git
          git fetch origin $GITHUB_REF_NAME
          git checkout $GITHUB_REF_NAME

      - name: Set up JDK
        run: |
          export JAVA_HOME=/usr/lib/jvm/java-11-openjdk-amd64
          export PATH=$JAVA_HOME/bin:$PATH
          java -version

      - name: Set up Android environment
        run: |
          export ANDROID_HOME=/opt/android-sdk
          export PATH=$ANDROID_HOME/platform-tools:$ANDROID_HOME/build-tools/33.0.2:$PATH
          sdkmanager --version

      - name: Build Debug APK
        run: ./gradlew assembleDebug

      - name: Archive APK
        run: |
          mkdir -p build-outputs
          cp app/build/outputs/apk/debug/app-debug.apk build-outputs/
          # 如需上传到GHES仓库,可调用GHES API,示例:
          # curl -X POST -H "Authorization: token ${{ secrets.GITHUB_TOKEN }}" -F file=@build-outputs/app-debug.apk https://<你的GHES域名>/api/v3/repos/<用户名>/<仓库名>/releases/<release_id>/assets

注意:替换<你的GHES域名>、<用户名>、<仓库名>为实际信息;JAVA_HOME和ANDROID_HOME路径需与运行器配置一致

四、测试工作流

提交工作流文件到仓库,触发push或pull request后,查看Actions页面的运行日志,确认APK构建成功,产物默认存放在运行器的app/build/outputs/apk/debug目录下

内容的提问来源于stack exchange,提问作者SAMEER SHEKHAR

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.06.18 00:00:01