使用 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 项目。

相关推荐
不午睡的探索者23 分钟前
告别性能瓶颈!Python 量化工程师,进击 C++ 高性能量化交易的“必修课”!
c++·github
光溯星河33 分钟前
【实践手记】Git重写已提交代码历史信息
后端·github
独立开阀者_FwtCoder35 分钟前
URL地址末尾加不加 "/" 有什么区别
前端·javascript·github
独立开阀者_FwtCoder38 分钟前
Vue3 新特性:原来watch 也能“暂停”和“恢复”了!
前端·javascript·github
移动开发者1号1 小时前
ReLinker优化So库加载指南
android·kotlin
寻月隐君1 小时前
告别 Vec!掌握 Rust bytes 库,解锁零拷贝的真正威力
后端·rust·github
山野万里__1 小时前
C++与Java内存共享技术:跨平台与跨语言实现指南
android·java·c++·笔记
Huckings1 小时前
Android 性能问题
android
移动开发者1号2 小时前
剖析 Systrace:定位 UI 线程阻塞的终极指南
android·kotlin
移动开发者1号2 小时前
深入解析内存抖动:定位与修复实战(Kotlin版)
android·kotlin