Flutter添加三方依赖后GeneratedPluginRegistrant.java运行报错如何解决?
问题根因
报错的核心触发原因是你
pubspec.yaml文件中依赖项的缩进不符合YAML语法规范,导致Flutter编译时生成的插件注册代码出现语法错误(自动生成的代码中new关键字和插件类名之间缺失空格,合并为了不存在的newcom字符串)。
解决步骤
- 修正
pubspec.yaml中的依赖缩进,第三方依赖必须和flutter配置项保持同级缩进,修正后的代码如下:
dependencies: flutter: sdk: flutter # 以下依赖和flutter同级,保持相同缩进 fluttertoast: ^8.0.8 flutter_local_notifications: ^6.0.0 vibration: ^1.7.3
注意:YAML对缩进精度要求极高,同级配置必须使用相同数量的缩进空格,不可混用Tab和空格
- 执行命令清理项目缓存并拉取依赖:
flutter clean flutter pub get
- 进入安卓项目目录清理构建缓存,再重新运行项目即可:
- Mac/Linux 执行:
cd android && ./gradlew clean - Windows 执行:
cd android && gradlew clean
- Mac/Linux 执行:
不需要手动修改
GeneratedPluginRegistrant.java文件,该文件是编译时自动生成的,修正配置重新构建后会自动生成正确的代码。
内容的提问来源于stack exchange,提问作者Nikhil S Marathe
相关产品推荐
相关产品推荐

