如何打包与部署 Makepad 跨平台应用

解决 Makepad 应用从开发到分发的最后一步:通过配置 cargo-packagercargo-makepad,实现一键生成桌面安装包、移动端 APK/IPA 及 WebAssembly 模块。

为什么需要这个技能

Makepad 是一个高度自定义的 Rust UI 框架,其应用在分发时不仅需要编译二进制文件,还需要正确处理内置资源(Resources)和平台特定的安装配置。

手动处理 .deb.dmg.apk 的打包过程极其繁琐。掌握该技能后,你可以通过标准化的配置文件(Cargo.toml)和自动化工具,快速将应用发布到所有主流平台,并能利用 GitHub Actions 实现持续集成(CI)自动发布。

适用场景

  • 需要为 Linux、Windows 或 macOS 生成正式的桌面安装程序。
  • 需要将 Makepad 应用打包成 Android APK 或 iOS IPA 文件进行真机测试。
  • 希望将应用编译为 Wasm 并在浏览器中运行。
  • 需要在 GitHub Actions 中配置自动化打包流水线。

核心工作流

1. 桌面端打包(Desktop)

使用 cargo-packager 配合 robius-packaging-commands 处理资源。

  • 环境准备:安装 cargo-packager 及资源处理工具。
  • 配置 Cargo.toml:在 [package.metadata.packager] 字段中定义产品名称、图标及资源路径。
  • 执行打包:运行 cargo packager --release 即可根据当前操作系统生成对应格式(如 .deb, .nsis, .dmg)。

2. 移动端打包(Mobile)

使用 cargo-makepad 管理工具链。

  • Android:安装 toolchain 执行 cargo makepad android build -p your-app --release 获取 .apk
  • iOS:安装 toolchain 配置 Xcode 签名 执行 run-device 或手动将 .app 压缩为 .ipa

3. Web 端打包(Wasm)

  • 流程:安装 Wasm toolchain 执行 cargo makepad wasm run -p your-app --release
  • 输出:生成包含 index.html.wasm 和 JS 桥接文件的静态目录,可直接使用 HTTP 服务器托管。

4. CI/CD 自动化

在 GitHub Actions 中引入 makepad-packaging-action,将上述流程集成到流水线中,自动将构建产物上传至 GitHub Releases。

jobs:
  package:
    runs-on: ubuntu-22.04
    steps:
      - uses: actions/checkout@v4
      - uses: Project-Robius-China/makepad-packaging-action@v1
        with:
          args: --target x86_64-unknown-linux-gnu --release

下载和安装

下载 makepad-deployment 中文版 Skill ZIP

解压后将目录放入你的 AI 工具 skills 文件夹,重启工具后即可使用。具体路径参考内附的 USAGE.zh.md

你可能还需要

暂无推荐