Windows11下flutter_blue_plus运行报错:protoc版本不兼容求助
解决flutter_blue_plus在Windows11上因protoc版本不兼容导致的构建失败问题
问题概述
将项目从flutter_blue切换到flutter_blue_plus后,在Windows11系统上运行失败,报错提示:flutter_blue_plus:generateDebugProto任务执行失败,原因是Gradle缓存中下载的protoc-3.18.0-osx-x86_64.exe与当前Windows版本不兼容(错误码216)。已尝试清理并重建项目,但问题未解决。
解决方案
1. 手动替换Gradle缓存中的protoc文件
- 定位Gradle缓存中protoc的存储路径,通常为:
C:\Users\<你的用户名>\.gradle\caches\modules-2\files-2.1\com.google.protobuf\protoc\3.18.0 - 删除该路径下所有与
osx-x86_64相关的文件夹及文件 - 下载对应Windows平台的
protoc-3.18.0-win64.zip(确保版本与报错中的3.18.0完全一致) - 解压压缩包,将
protoc.exe放入缓存路径对应的目录中,保持路径结构与之前一致
2. 强制Gradle下载正确平台的protoc
在项目的android/app/build.gradle中添加配置,明确指定Windows版本的protoc:
apply plugin: 'com.google.protobuf' protobuf { protoc { artifact = "com.google.protobuf:protoc:3.18.0:windows-x86_64" } // 保留原有其他protobuf配置 }
3. 彻底清理构建缓存
执行以下命令清理Flutter和Gradle的所有缓存,然后重新构建项目:
flutter clean gradlew cleanBuildCache
也可以手动删除项目根目录下的.gradle文件夹,以及用户目录C:\Users\<你的用户名>\.gradle中的缓存文件,之后重新运行flutter run
问题原因
该问题是Gradle在依赖下载过程中,因缓存机制或网络异常错误地下载了macOS平台的protoc程序到Windows环境,导致跨架构执行时出现兼容性错误(错误码216)。
内容的提问来源于stack exchange,提问作者Hippo Fish
相关产品推荐
相关产品推荐

