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

相关推荐
谢白羽1 天前
vllm实践
android·vllm
电子云与长程纠缠1 天前
Godot学习03 - 实例化、层级访问、Export
android·学习·godot
毕设源码-朱学姐1 天前
【开题答辩全过程】以 基于Android的便民系统的设计与实现为例,包含答辩的问题和答案
android
鬼蛟1 天前
Spring————事务
android·java·spring
qq_170264751 天前
unity出安卓年龄分级的arr包问题
android·unity·游戏引擎
kejiashao1 天前
Android View的绘制流程及事件分发机制
android
小蜜蜂嗡嗡1 天前
flutter实现付费解锁内容的遮挡
android·flutter
进击的cc1 天前
拒绝背诵!一文带你打穿 Android ANR 发生的底层全链路
android·面试
进击的cc1 天前
App 启动优化全家桶:别再只盯着 Application 了,热启动优化你真的做对了吗?
android·面试