FlutterBluePlus实例化报错:表达式类型为void无法使用
FlutterBluePlus .instance 报void类型错误的解决方案
排查版本差异
你当前项目的FlutterBluePlus版本和之前正常运行的项目大概率不一致,新版本可能调整了API。比如部分版本中.instance属性被改为void类型的初始化方法,或者直接被移除。
解决步骤:- 对比两个项目的
pubspec.yaml里的FlutterBluePlus版本号 - 把当前项目的版本降级到之前可用的版本,比如在
pubspec.yaml里指定版本:dependencies: flutter_blue_plus: ^x.y.z # 替换成你之前项目用的有效版本号 - 执行
flutter pub get更新依赖
- 对比两个项目的
适配新版本API
如果不想降级,查看当前版本的正确用法:
很多新版本的FlutterBluePlus不需要获取instance实例,直接通过类调用静态方法即可完成操作。比如扫描设备:FlutterBluePlus.startScan(timeout: const Duration(seconds: 4));如果必须要实例,确认当前版本是否允许直接实例化,比如尝试
FlutterBluePlus flutterBlue = FlutterBluePlus();(部分版本支持这种方式)清理缓存修复识别异常
有时候IDE缓存会导致类型判断错误,试试:- 执行
flutter clean清理项目缓存 - 重启你的IDE
- 重新运行项目
- 执行
内容的提问来源于stack exchange,提问作者PleaseSaveMyCode
相关产品推荐
相关产品推荐

