调用startScan遇MissingPluginException?flutter_bluetooth_brazilian插件异常
解决
flutter_bluetooth_brazilian的Missing Plugin Exception问题 你遇到的Missing Plugin Exception是Flutter插件与原生平台未正确绑定导致的,针对这个问题,按以下步骤排查修复:
确认插件依赖正确安装
检查pubspec.yaml中是否添加了对应依赖,并且执行过flutter pub get:dependencies: flutter: sdk: flutter flutter_bluetooth_brazilian: ^x.x.x # 替换为实际使用的版本号如果是本地自定义插件,确认路径配置无误。
清理缓存并重启项目
执行命令清理Flutter缓存,再重启IDE重新运行:flutter clean flutter pub get检查Android端配置
打开android/app/src/main/AndroidManifest.xml,确认添加蓝牙权限:<uses-permission android:name="android.permission.BLUETOOTH" /> <uses-permission android:name="android.permission.BLUETOOTH_ADMIN" /> <uses-permission android:name="android.permission.ACCESS_FINE_LOCATION" /> <!-- Android 12+ 额外权限 --> <uses-permission android:name="android.permission.BLUETOOTH_SCAN" /> <uses-permission android:name="android.permission.BLUETOOTH_CONNECT" />同时确保Android原生代码中的MethodChannel通道名称,与你Dart代码中的
flutter_bluetooth_brazilian/methods、flutter_bluetooth_brazilian/state完全一致。检查iOS端配置
打开ios/Runner/Info.plist,添加蓝牙权限描述:<key>NSBluetoothAlwaysUsageDescription</key> <string>需要蓝牙权限连接设备</string> <key>NSBluetoothPeripheralUsageDescription</key> <string>需要蓝牙权限扫描设备</string>验证iOS端FlutterMethodChannel的通道名称与Dart端匹配。
重新构建原生项目
- Android:在Android Studio打开
android目录,执行Build > Clean Project后再Build > Rebuild Project - iOS:在Xcode打开
ios/Runner.xcworkspace,执行Product > Clean Build Folder后重新编译
- Android:在Android Studio打开
若以上步骤无效,可能是插件与当前Flutter版本不兼容,可尝试升级Flutter到稳定版,或查看插件仓库的相关issue寻找解决方案。
内容的提问来源于stack exchange,提问作者syrine
相关产品推荐
相关产品推荐

