返回

利用 GitHub Actions 免费构建 Flutter Android 包

Android

前言

上一篇文章 中,我们介绍了如何使用 GitHub Actions 免费构建 Flutter iOS 包,本文将深入探讨如何构建 Flutter Android 包。通过建立自动化构建流水线,您可以显著提升移动开发效率,确保代码质量,并加快发布周期。

构建设置

1. 创建 GitHub Actions 工作流

在您的 Flutter Android 项目的 .github/workflows 目录中,创建一个名为 build-android.yml 的新文件。此文件将定义构建工作流的配置。

name: Build Android

on:
  push:
    branches: [ main ]
  pull_request:
    branches: [ main ]

jobs:
  build:
    runs-on: ubuntu-latest
    strategy:
      matrix:
        target: [arm64-v8a, armv7-a, x86_64]
    steps:
      - uses: actions/checkout@v3
      - uses: actions/setup-java@v3
        with:
          java-version: '11'
          distribution: 'adopt'
      - run: flutter pub get
      - run: flutter build apk --target=${{ matrix.target }}
      - uses: actions/upload-artifact@v3
        with:
          name: android-app-${{ matrix.target }}
          path: build/app/outputs/flutter-apk/${{ matrix.target }}/*.apk

2. 解析工作流配置

触发器 (on):

  • 工作流在 main 分支的 push 或 pull request 时触发。

作业 (jobs):

  • 只有一个作业名为 build

作业步骤 (steps):

  • 检出代码仓库。
  • 设置 Java 11 环境。
  • 运行 flutter pub get
  • 构建 APK,指定不同的 ABI 目标(arm64-v8a、armv7-a、x86_64)。
  • 上传构建的 APK 作为工件。

构建过程

1. 触发构建

将代码推送到 main 分支或创建 pull request 时,GitHub Actions 将触发构建工作流。

2. 设置环境

工作流使用 Ubuntu 最新版本作为运行环境,并安装 Java 11。

3. 获取依赖项

工作流运行 flutter pub get 以获取所有必需的软件包依赖项。

4. 构建 APK

接下来,工作流使用 flutter build apk 构建 APK,并为每个指定的 ABI 目标(arm64-v8a、armv7-a、x86_64)生成独立的 APK。

5. 上传工件

构建的 APK 上传到 GitHub Actions 作为工件,可以用于后续步骤,例如测试或部署。

结论

通过使用 GitHub Actions 设置自动化构建流水线,您可以轻松地构建和测试 Flutter Android 包。这不仅可以节省大量时间,还可以提高构建的一致性和代码质量。

延伸阅读: