使用 GitHub Actions 编译和发布 Android APK

使用 GitHub Actions 编译和发布 Android APK

在现代软件开发中,持续集成和持续部署(CI/CD)已成为不可或缺的一部分。对于 Android 开发者来说,自动化编译和发布 APK 不仅节省时间,还能确保每次发布的一致性。本文将介绍如何使用 GitHub Actions 自动化编译和发布 APK。

前言

本文将指导你如何通过 GitHub Actions 编译你的 Android 项目并自动发布 APK。当你向仓库推送一个新标签时,GitHub Actions 将触发构建过程,并将生成的 APK 附加到同一个标签的发布中。

准备工作

创建 GitHub Actions 配置文件

在你的 Android 项目的根目录下创建一个 .github/workflows/android.yml 文件,并将以下内容粘贴到文件中:

yaml 复制代码
name: Build & Publish Release APK

on:
  push:
    tags:
      - '*'

jobs:
  Gradle:
    runs-on: ubuntu-latest
    steps:
    - name: checkout code
      uses: actions/checkout@v2
    - name: setup jdk
      uses: actions/setup-java@v1
      with:
        java-version: 11
    - name: Make Gradle executable
      run: chmod +x ./gradlew
    - name: Build Release APK
      run: ./gradlew assembleRelease
    - name: Releasing using Hub
      uses: sangatdesai/release-apk@main
      env:
        GITHUB_TOKEN: ${{ secrets.TOKEN }}
        APP_FOLDER: app

配置 Secrets

你需要在 GitHub 仓库的设置中配置一个 secret token,以便将生成的 APK 发布到你的仓库,并附加到创建的标签上。按照以下步骤创建一个新的访问 token:

  1. 进入 GitHub 仓库的 Settings > Secrets
  2. 创建一个新的 secret,命名为 TOKEN,并将你的访问 token 粘贴进去。

配置环境变量

在上述 YAML 文件中,APP_FOLDER 环境变量指定了搜索 APK 的主文件夹。大多数情况下,这个文件夹是 app

推送标签

在本地仓库中,按照以下命令推送一个新的标签以触发 GitHub Actions:

bash 复制代码
git add .
git commit -m "new release"
git push
git tag 1.0
git push origin 1.0

定制 APK 构建口味

默认情况下,此配置文件将创建 release 口味的 APK。如果你想要构建 debug 口味的 APK,可以修改 YAML 文件中的相应命令:

yaml 复制代码
- name: Build Debug APK
  run: ./gradlew assembleDebug

详细步骤解析

1. Checkout 代码

yaml 复制代码
- name: checkout code
  uses: actions/checkout@v2

这一步将你的代码从 GitHub 仓库中检出,以便在虚拟机上进行构建。

2. 设置 JDK

yaml 复制代码
- name: setup jdk
  uses: actions/setup-java@v1
  with:
    java-version: 11

这一步设置了构建所需的 Java 开发工具包 (JDK) 版本。

3. 使 Gradle 可执行

yaml 复制代码
- name: Make Gradle executable
  run: chmod +x ./gradlew

这一步确保 gradlew 文件具有执行权限,从而可以运行 Gradle 构建工具。

4. 构建 Release APK

yaml 复制代码
- name: Build Release APK
  run: ./gradlew assembleRelease

这一步运行 Gradle 命令来构建 Release 版本的 APK。

5. 使用 Hub 发布

yaml 复制代码
- name: Releasing using Hub
  uses: sangatdesai/release-apk@main
  env:
    GITHUB_TOKEN: ${{ secrets.TOKEN }}
    APP_FOLDER: app

这一步使用 sangatdesai/release-apk 动作将生成的 APK 发布到 GitHub Releases。

总结

通过上述步骤,你可以使用 GitHub Actions 自动化编译和发布 Android APK。这个流程不仅提升了开发效率,还确保了每次发布的一致性。如果你需要构建不同口味的 APK,只需修改 YAML 文件中的相应命令即可。希望这篇文章能帮助你更好地理解和应用 GitHub Actions 来自动化你的 Android 项目。# 使用 GitHub Actions 编译和发布 APK

在现代软件开发中,持续集成和持续部署(CI/CD)已成为不可或缺的一部分。对于 Android 开发者来说,自动化编译和发布 APK 不仅节省时间,还能确保每次发布的一致性。本文将介绍如何使用 GitHub Actions 自动化编译和发布 APK。

前言

本文将指导你如何通过 GitHub Actions 编译你的 Android 项目并自动发布 APK。当你向仓库推送一个新标签时,GitHub Actions 将触发构建过程,并将生成的 APK 附加到同一个标签的发布中。

准备工作

创建 GitHub Actions 配置文件

在你的 Android 项目的根目录下创建一个 .github/workflows/android.yml 文件,并将以下内容粘贴到文件中:

yaml 复制代码
name: Build & Publish Release APK

on:
  push:
    tags:
      - '*'

jobs:
  Gradle:
    runs-on: ubuntu-latest
    steps:
    - name: checkout code
      uses: actions/checkout@v2
    - name: setup jdk
      uses: actions/setup-java@v1
      with:
        java-version: 11
    - name: Make Gradle executable
      run: chmod +x ./gradlew
    - name: Build Release APK
      run: ./gradlew assembleRelease
    - name: Releasing using Hub
      uses: sangatdesai/release-apk@main
      env:
        GITHUB_TOKEN: ${{ secrets.TOKEN }}
        APP_FOLDER: app

配置 Secrets

你需要在 GitHub 仓库的设置中配置一个 secret token,以便将生成的 APK 发布到你的仓库,并附加到创建的标签上。按照以下步骤创建一个新的访问 token:

  1. 进入 GitHub 仓库的 Settings > Secrets
  2. 创建一个新的 secret,命名为 TOKEN,并将你的访问 token 粘贴进去。

配置环境变量

在上述 YAML 文件中,APP_FOLDER 环境变量指定了搜索 APK 的主文件夹。大多数情况下,这个文件夹是 app

推送标签

在本地仓库中,按照以下命令推送一个新的标签以触发 GitHub Actions:

bash 复制代码
git add .
git commit -m "new release"
git push
git tag 1.0
git push origin 1.0

定制 APK 构建口味

默认情况下,此配置文件将创建 release 口味的 APK。如果你想要构建 debug 口味的 APK,可以修改 YAML 文件中的相应命令:

yaml 复制代码
- name: Build Debug APK
  run: ./gradlew assembleDebug

详细步骤解析

1. Checkout 代码

yaml 复制代码
- name: checkout code
  uses: actions/checkout@v2

这一步将你的代码从 GitHub 仓库中检出,以便在虚拟机上进行构建。

2. 设置 JDK

yaml 复制代码
- name: setup jdk
  uses: actions/setup-java@v1
  with:
    java-version: 11

这一步设置了构建所需的 Java 开发工具包 (JDK) 版本。

3. 使 Gradle 可执行

yaml 复制代码
- name: Make Gradle executable
  run: chmod +x ./gradlew

这一步确保 gradlew 文件具有执行权限,从而可以运行 Gradle 构建工具。

4. 构建 Release APK

yaml 复制代码
- name: Build Release APK
  run: ./gradlew assembleRelease

这一步运行 Gradle 命令来构建 Release 版本的 APK。

5. 使用 Hub 发布

yaml 复制代码
- name: Releasing using Hub
  uses: sangatdesai/release-apk@main
  env:
    GITHUB_TOKEN: ${{ secrets.TOKEN }}
    APP_FOLDER: app

这一步使用 sangatdesai/release-apk 动作将生成的 APK 发布到 GitHub Releases。

总结

通过上述步骤,你可以使用 GitHub Actions 自动化编译和发布 Android APK。这个流程不仅提升了开发效率,还确保了每次发布的一致性。如果你需要构建不同口味的 APK,只需修改 YAML 文件中的相应命令即可。希望这篇文章能帮助你更好地理解和应用 GitHub Actions 来自动化你的 Android 项目。

相关推荐
00后程序员张1 天前
Jenkins 自动上传 IPA 到 App Store 把发布步骤融入 CI/CD
android·ios·小程序·https·uni-app·iphone·webview
Gary Studio1 天前
复杂 SoC(RK3568)PCB 布局的五步
android·linux·硬件
plainGeekDev1 天前
HttpURLConnection → OkHttp + Kotlin
android·java·kotlin
QING6181 天前
Kotlin 协程新手指南 —— 协程基础与挂起函数
android·kotlin·android jetpack
2601_961766641 天前
【分享】分身空间 2.3.7[特殊字符]生活工作互不打扰
android·生活
百度搜知知学社1 天前
抖音双模块架构:兼容全安卓版本并支持登录
android·架构·安卓·登录·兼容性·抖音
文阿花1 天前
Echarts实现柱状3D扇形图
android·3d·echarts
故渊at1 天前
第六板块:Android 安全与权限体系 | 第十九篇:SELinux 强制访问控制与沙箱机制
android·安全·访问控制·selinux·权限体系·沙箱机制
千里马学框架1 天前
重学Perfetto浏览器在线抓取trace及高频sql分享
android·sql·智能手机·架构·aaos·perfetto·车机
baozj1 天前
把徒步轨迹做成 3D 地形模型:开源工具「印迹 TrailPrint 3D」
前端·vue.js·github