如何在线自动编译构建Flutter工程源码

正文概述 云码哥   2025-03-30   120

本地构建Flutter代码需要部署编译环境非常麻烦,所以这里我推荐通过codemagic.io网站在线自动编译构建Flutter工程源码。

如何在线自动编译构建Flutter工程源码

(1)codemagic.io介绍

Codmagic.io 是一个专为移动应用开发者设计的 持续集成和持续交付(CI/CD)平台,主要聚焦于 FlutteriOSAndroid 和 React Native 应用的自动化构建、测试和发布流程。它提供云端构建环境,简化开发团队的应用交付流程,尤其适合需要频繁更新或跨平台开发的团队。


官网链接

https://codemagic.io/

核心功能

  1. 自动化构建与测试
    • 支持 FlutteriOS(Xcode)Android(Gradle) 和 React Native 项目。
    • 自动触发构建(通过 Git 提交、定时任务或手动触发)。
    • 并行测试,生成测试报告和日志。
  2. 跨平台支持
    • 为 iOS 和 Android 应用提供独立的构建环境(包括 macOS 和 Linux 虚拟机)。
    • 支持构建多平台产物(如 IPA、APK、App Bundle 等)。
  3. 无缝发布
    • 直接发布到 App Store ConnectGoogle PlayFirebase App Distribution 等平台。
    • 支持上传到 TestFlightBeta 测试渠道。
  4. 开发者友好
    • 可视化配置:通过 YAML 文件或网页界面管理流程。
    • 环境变量管理:安全存储敏感信息(如签名证书、API 密钥)。
    • 插件与集成:与 SlackGitHubBitbucketGitLab 等工具联动。
  5. 性能优化
    • 高速缓存依赖项(如 Flutter SDK、CocoaPods),减少构建时间。
    • 提供详细的构建日志和性能分析。

适用场景

  • Flutter 开发者:Codemagic 是官方推荐的 CI/CD 工具之一,深度优化 Flutter 工作流。
  • 小型团队或独立开发者:无需自建 Jenkins 或 GitHub Actions 复杂配置,开箱即用。
  • 企业级发布:支持代码签名、多环境部署和合规检查。

定价

  • 免费层:适合个人开发者,每月有限额构建时间。
  • 付费计划:按构建时长或并发任务计费,支持团队协作功能。

(2)如何在线自动编译

通过 Codemagic.io 在线编译 Flutter 代码非常简单,以下是详细步骤指南:


1. 准备工作

  • 确保项目在 Git 仓库中(GitHub、GitLab、Bitbucket 等)。
  • 准备好 代码签名文件(如需发布到 App Store/Google Play):
    • iOS:Apple Developer 账号 + .p12 证书 + Provisioning Profile
    • Android:keystore 文件(签名 APK/App Bundle 用)。

2. 登录并设置 Codemagic

  1. 注册/登录
    • 访问 Codemagic.io,用 GitHub/GitLab/Bitbucket 账号登录。
  2. 添加项目
    • 点击 “Add application”,选择你的 Flutter 项目仓库。

3. 配置构建流程

方式一:自动生成配置(推荐新手)

  1. 进入项目页面,点击 “Start your first build”
  2. 选择 Flutter 作为项目类型,Codemagic 会自动检测项目结构。
  3. 根据提示配置:
    • 分支(如 maindev)。
    • 构建类型(Debug/Release)。
    • 目标平台(iOS、Android 或两者)。

方式二:手动编写 codemagic.yaml(灵活控制)

  1. 在项目根目录创建 codemagic.yaml 文件(或通过 Codemagic 网页编辑器生成)。
  2. 示例配置(Android + iOS):
workflows:
  flutter-android:
    name: Flutter Android Build
    environment:
      groups:
        - keystore_credentials # 存储签名密钥的环境变量组
    scripts:
      - flutter pub get
      - flutter build appbundle # 或 `flutter build apk`
    artifacts:
      - build/app/outputs/bundle/release/*.aab
    publishing:
      email:
        recipients:
          - your-email@example.com

  flutter-ios:
    name: Flutter iOS Build
    environment:
      groups:
        - ios_credentials # 存储 iOS 证书的环境变量组
    scripts:
      - flutter pub get
      - flutter build ipa # 生成 IPA 文件
    artifacts:
      - build/ios/ipa/*.ipa

4. 设置代码签名

Android 签名

  1. 在 Codemagic 项目设置中,进入 “Environment variables”
  2. 添加以下变量(值来自你的 keystore 文件):
CM_KEYSTORE_PATH (上传 keystore 文件)
CM_KEYSTORE_PASSWORD
CM_KEY_ALIAS
CM_KEY_PASSWORD
  1. 在 codemagic.yaml 中引用这些变量。

iOS 签名

  1. 在 Codemagic 上传 .p12 证书和 .mobileprovision 文件。
  2. 通过 “Code Signing” 选项卡配置:
    • 选择证书类型(Development/Distribution)。
    • 填写 Bundle Identifier。

5. 触发构建

  • 手动触发:在 Codemagic 控制台点击 “Start new build”
  • 自动触发:通过 Git 提交(在设置中配置触发规则,如 push 到特定分支)。

6. 查看结果与发布

  • 构建日志:实时查看编译进度和错误。
  • 下载产物:构建成功后,在 “Artifacts” 中下载 APK/IPA/AAB 文件。
  • 自动发布(可选):
    • Android:发布到 Google Play(需配置 API 密钥)。
    • iOS:上传到 App Store Connect(需 App Store 开发者账号)。

常见问题

  1. 依赖安装失败
    • 确保 pubspec.yaml 中依赖项无误,可在 scripts 中添加 flutter pub upgrade
  2. iOS 构建错误
    • 检查证书和 Profile 是否匹配 Bundle ID。
  3. 构建超时
    • 免费计划有 30 分钟限制,复杂项目可升级付费计划。

优势总结

  • 无需本地环境:全部在云端完成,节省配置时间。
  • 高度自动化:从代码提交到发布一键完成。
  • 跨平台支持:同时生成 iOS 和 Android 应用。
本站大部分资源收集于网络以及网友投稿,本不保证资源的完整性以及安全性,请下载后自行测试。
本站资源仅供下载者学习技术,版权归资源原作者所有,请在下载后24小时之内自觉删除。
本站资源仅供下载者学习IT编程开发技术,请遵守国家法律法规,严禁用于非法用途。
若作商业用途,请购买正版,由于未及时购买正版发生的侵权行为,与本站无关。
如您是版权方,本站源码有侵犯到您的权益,请邮件联系331752841@qq.com 删除,我们将及时处理!