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

VS Code运行Flutter点餐项目构建失败 报shared_preferences属性错误

问题复现
  • 购入的点餐类Flutter商用项目,在Visual Studio Code中构建、运行时持续报错,更新Flutter SDK后问题没有任何改善
  • 核心报错:类型为org.gradle.api.Project的:shared_preferences模块无法获取未知属性android,构建运行5秒后直接失败
  • 伴随异常:Gradle拉取网络依赖构件出错,触发第9次构建重试,本次重试等待时长25600ms
  • 构建日志提示可附加不同参数获取更多排障信息
问题根因

两个问题叠加触发报错:

  1. 第三方交付的项目普遍使用老旧的Android构建配置,没有适配新版Gradle、Android Gradle插件的逻辑,本地更新Flutter SDK后自带的新版构建链无法识别老配置,导致shared_preferences插件加载时读不到Android配置块的属性
  2. 默认配置的Gradle依赖仓库服务器在海外,国内网络环境下访问经常超时,依赖构件下载残缺,会进一步触发构建重试,甚至直接报配置类错误
修复操作
  1. 先解决依赖下载失败问题
    • 打开项目路径下android/build.gradle文件,把仓库配置里默认的google、mavenCentral源替换成国内可正常访问的镜像源,从根源避免依赖拉取超时
    • 核对两个版本的匹配关系:打开android/gradle/wrapper/gradle-wrapper.properties看当前配置的Gradle版本,再打开android/build.gradle看声明的com.android.tools.build:gradle(即Android Gradle插件)版本,两个版本必须符合官方给出的兼容对应关系,版本差过大会直接构建失败
  2. 修复shared_preferences属性找不到问题
    • 打开android/settings.gradle,删除老版本Flutter要求手动写的原生插件注册配置,新版Flutter会自动完成插件注册,残留的老配置会干扰插件加载Android扩展属性
    • 打开根目录pubspec.yaml,把shared_preferences依赖升级到适配当前Flutter版本的稳定版,不要用发布时间超过2年的老旧版本
    • 在项目根目录终端依次执行命令清理缓存、重新拉取依赖:
      flutter clean
      flutter pub get
      
    • 手动删除项目目录下的.gradle缓存文件夹,清掉之前下载不完整的坏缓存文件
  3. 仍无法构建时的排障方法
    • 不要直接点VS Code的运行按钮触发构建,在终端手动执行构建命令,按需加参数拿详细日志:
      • 加--stacktrace参数获取完整错误堆栈
      • 加--info或--debug参数输出全量构建日志
      • 加--scan参数生成完整构建过程分析报告
    • 拿到详细日志后直接定位到读取android属性失败的具体代码行,针对性调整配置即可

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.08.28 21:36:26