使用flutter_barcode_scanner时找不到com.google.android.gms.vision.barcode怎么办
问题根因
该报错本质是Android设备缺少Google Play服务条码识别动态模块,要么是设备未安装/未更新Google Play服务,要么是模块动态加载失败,部分无GMS预置的国产系统、模拟器会大概率触发该问题,你贴的main.dart代码无逻辑错误,无需调整。
排查解决步骤
- 环境验证
优先确认测试设备/模拟器是否预装了最新版Google Play服务,无GMS的设备可直接更换带GMS的测试机,或直接跳转到最后一步替换插件。 - 修改Android项目配置
- 打开项目
android/app/build.gradle,调整minSdk版本并开启多dex支持:android { defaultConfig { // 至少设置为21 minSdkVersion 21 // 新增这行 multiDexEnabled true } } - 打开
android/app/src/main/AndroidManifest.xml,在<application>标签内部添加元数据配置,强制提前内嵌条码识别依赖:<meta-data android:name="com.google.android.gms.vision.DEPENDENCIES" android:value="barcode" />
- 打开项目
- 清理缓存重新构建
依次执行以下命令后卸载设备上的旧应用重新安装即可:flutter clean flutter pub get - 终极方案:替换扫描插件
flutter_barcode_scanner已经停止维护多年,适配性差,推荐替换为社区活跃度更高的mobile_scanner插件,该插件基于ML Kit实现,不需要依赖Google Play服务,国内设备兼容性更好。
内容的提问来源于stack exchange,提问作者marwa nam
相关产品推荐
相关产品推荐

