You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

如何将Flutter应用构建流程与Rust代码集成实现自动构建?

Flutter+Rust 构建流程自动化方案

下面是三种不同复杂度的实现方案,按需选择即可:

1. 快速脚本方案(适合多平台通用临时需求)

在项目根目录创建对应平台的执行脚本,单次执行即可自动走完完整构建流程,且Rust编译失败会直接终止流程,避免打包旧二进制:

  • macOS/Linux 平台新建run.sh:
#!/bin/bash
# 按需调整Rust编译参数
cargo build --release
if [ $? -ne 0 ]; then
    echo "Rust 编译失败,流程终止"
    exit 1
fi
# 按需调整Flutter运行/打包参数
flutter run --release

脚本添加执行权限:chmod +x run.sh,之后直接执行./run.sh即可。

  • Windows 平台新建run.ps1:
# 按需调整Rust编译参数
cargo build --release
if ($LASTEXITCODE -ne 0) {
    Write-Host "Rust 编译失败,流程终止" -ForegroundColor Red
    exit 1
}
# 按需调整Flutter运行/打包参数
flutter run --release

之后右键选择用PowerShell执行即可。

2. 原生构建钩子集成方案(适合正式项目)

直接把Rust编译逻辑嵌入Flutter各平台的原生构建流程,不管是手动执行flutter run还是用IDE点构建按钮,都会自动先执行Rust编译:

安卓平台

打开项目下的android/app/build.gradle文件,添加如下代码:

// 定义Rust编译任务
task rustBuild(type: Exec) {
    // 路径调整到你的Rust项目根目录
    workingDir "../../rust"
    // 按需添加目标架构、编译模式参数
    commandLine 'cargo', 'build', '--release', '--target', 'aarch64-linux-android', '--target', 'armv7-linux-androideabi', '--target', 'i686-linux-android'
}
// 将Rust编译任务挂载到安卓构建的最前面
preBuild.dependsOn rustBuild

iOS平台

用Xcode打开项目下的ios/Runner.xcworkspace,进入Runner目标的Build Phases标签,点击左上角+号新建Run Script阶段,将该阶段拖到Compile Sources前面,脚本内容填:

# 路径调整到你的Rust项目根目录
cd ${SRCROOT}/../rust
# 按需添加目标架构、编译模式参数
cargo build --release --target aarch64-apple-ios --target x86_64-apple-ios-sim

桌面平台

  • Windows:打开windows/runner/runner.vcxproj,添加预构建事件,内容填写Rust编译命令即可
  • macOS桌面:和iOS配置逻辑一致,在Xcode的构建阶段添加运行脚本即可

3. 模板复用方案

如果你是用flutter_rust_bridge官方脚手架创建的项目,官方已经内置了全平台的构建钩子配置,直接把对应配置文件拷贝到你的现有项目中即可,不需要手动编写逻辑。


内容的提问来源于stack exchange,提问作者ch271828n

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.09.30 17:57:01