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

Flutter Android构建失败:依赖包脚本报错及Gradle特性弃用问题

解决Flutter Android构建失败问题

一、修复cargokit脚本执行错误(退出码127)

退出码127本质是系统找不到指定命令,irondash_engine_context和super_native_extensions都是基于Rust开发的Flutter插件,必须依赖Rust工具链才能构建。按以下步骤处理:

  • 安装Rust工具链:执行命令
    curl --proto '=https' --tlsv1.2 -sSf https://sh.rustup.rs | sh
    
    跟着终端提示完成安装,安装后重启终端生效。
  • 验证Rust环境:在新终端执行cargo --version和rustc --version,能正常输出版本号就算安装成功。
  • 添加Android交叉编译支持:执行
    rustup target add aarch64-linux-android armv7-linux-androideabi i686-linux-android x86_64-linux-android
    
  • 确认NDK路径:打开项目的android/local.properties文件,确保有ndk.dir配置(比如ndk.dir=/Users/你的用户名/Library/Android/sdk/ndk/25.2.9519653),如果没有,手动添加对应NDK路径(Android Studio里可通过SDK Manager查看已安装的NDK版本)。

如果已经装过Rust还是报错,检查终端的PATH变量是否包含$HOME/.cargo/bin,这个是Rust命令的默认安装路径,必须在环境变量里。

二、修复Gradle 8.0兼容问题

依赖包用了Gradle旧特性,和8.0不兼容,又没法改依赖代码,试试这两种方案:

方案1:降级Gradle到兼容版本

  • 修改android/gradle/wrapper/gradle-wrapper.properties里的distributionUrl,换成Gradle 7.6(这个版本对旧插件兼容性更好):
    distributionUrl=https\://services.gradle.org/distributions/gradle-7.6-all.zip
    
  • 打开android/build.gradle,更新Android Gradle Plugin(AGP)版本和Gradle匹配,Gradle 7.6对应AGP 7.4.x,比如:
    dependencies {
        classpath 'com.android.tools.build:gradle:7.4.2'
        // 其他classpath依赖保持不变
    }
    

方案2:启用Gradle旧特性兼容模式

不想降级的话,在android/gradle.properties里加以下配置:

android.nonTransitiveRClass=false
android.enableJetifier=true
org.gradle.warning.mode=all

再在android/build.gradle的android块里添加:

android {
    // 其他已有配置
    lintOptions {
        checkReleaseBuilds false
        abortOnError false
    }
}

三、收尾验证

  • 执行flutter clean清除缓存
  • 手动删除android/.gradle目录(彻底清除Gradle本地缓存)
  • 重新执行flutter build apk或者在Android Studio里同步项目后构建

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.07.05 02:20:23