使用fvm flutter run运行Android项目遇锁文件协议错误求助
解决FVM Flutter run报错:Unexpected lock protocol found in lock file. Expected 3, found 50.
错误原因
该错误源于Gradle锁文件协议版本不兼容:你当前使用的Flutter 3.0.5依赖的Gradle版本较低,而环境中存在高版本Gradle生成的锁文件,或是FVM切换版本后残留的缓存导致版本冲突。
解决方案
1. 清理FVM对应Flutter版本的Gradle缓存
找到FVM管理的Flutter 3.0.5版本目录下的Gradle缓存文件夹并删除:
- macOS/Linux:
~/.fvm/versions/3.0.5/gradle - Windows:
C:\Users\<你的用户名>\.fvm\versions\3.0.5\gradle
2. 重置项目的Gradle Wrapper
删除项目根目录下的gradle/wrapper/gradle-wrapper.jar和gradle/wrapper/gradle-wrapper.properties文件,然后执行以下命令重新生成适配Flutter 3.0.5的Wrapper:
./gradlew wrapper --gradle-version 7.4
(Flutter 3.0.5推荐搭配Gradle 7.4版本,对应Android Gradle Plugin 7.0.4)
3. 彻底清理项目构建缓存
执行以下操作:
- 运行
fvm flutter clean - 删除项目根目录的
.dart_tool、build文件夹 - 删除
android/app/build文件夹
4. 重新获取依赖并运行
fvm flutter pub get fvm flutter run
额外注意
如果使用Android Studio打开项目,需确保AS的Gradle设置为使用项目的Gradle Wrapper,而非全局安装的高版本Gradle,避免再次触发版本冲突。
内容的提问来源于stack exchange,提问作者Rico Chan
相关产品推荐
相关产品推荐

