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

相关推荐
莫名有雪33 分钟前
BUUCTF_[网鼎杯 2020 朱雀组]phpweb(反序列化绕过命令)
android
爱写代码的山山4 小时前
虚幻UE5手机安卓Android Studio开发设置2025
android·ue5·虚幻
dal118网工任子仪5 小时前
94,【2】buuctf web [安洵杯 2019]easy_serialize_php
android·前端·php
sunny_liangzilong7 小时前
为何 git 默认是 master分支,而github默认是main分支(DeepSeek问答)
git·github
Kevin Coding8 小时前
Flutter使用Flavor实现切换环境和多渠道打包
android·flutter·ios
yashunan8 小时前
Web_php_unserialize
android·前端·php
taopi202410 小时前
android java系统弹窗的基础模板
android·java·开发语言
志尊宝10 小时前
深入探索 Android 技术:从基础到前沿
android
字节全栈_BjO11 小时前
mysql死锁排查_mysql 死锁问题排查
android·数据库·mysql
go546315846514 小时前
指导初学者使用Anaconda运行GitHub上One - DM项目的步骤
github