You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

Android端Google ML Kit图像标注报错及Firebase异常求助

Google ML Kit图像标注异常及Firebase依赖冲突解决

一、MissingPluginException 异常解决

报错提示MissingPluginException(No implementation found for method vision#startImageLabelDetector on channel google_mlkit_image_labeler),核心原因是插件通道未正确绑定或依赖冲突,可按以下步骤排查:

  • 移除旧版整合包:google_ml_kit是旧的整合式依赖,与新拆分的google_mlkit_image_labeling、google_mlkit_commons存在冲突,仅保留拆分后的独立依赖,删除pubspec.yaml中的google_ml_kit。
  • 校验依赖版本:确保google_mlkit_image_labeling、google_mlkit_commons版本与当前Flutter SDK兼容,可参考pub.dev上的包说明确认最低Flutter版本要求,避免跨版本混用。
  • 彻底清理缓存:执行以下命令重建项目,清除旧插件缓存:
    flutter clean
    rm -rf android/app/build android/build
    flutter pub get
    flutter run
    
  • 检查Android端配置:确保MainActivity继承自FlutterActivity;若使用自定义Activity,需保证正确初始化Flutter插件通道;AndroidManifest.xml中未添加限制ML Kit运行的权限或配置。

二、添加ML Kit依赖后触发FirebaseException 解决

报错FirebaseException ([cloud_firestore/unavailable] The service is currently unavailable),本质是ML Kit与Firebase依赖版本冲突导致Firestore初始化失败,解决方法:

  • 查看依赖树:执行flutter pub deps,检查cloud_firestore及其底层Android原生依赖的版本,确认是否被ML Kit的依赖覆盖。
  • 明确指定Firebase依赖版本:在pubspec.yaml中直接锁定cloud_firestore的稳定版本,例如:
    dependencies:
      cloud_firestore: ^4.15.0 # 替换为适配你项目的稳定版本
      google_mlkit_image_labeling: ^0.11.0
      google_mlkit_commons: ^0.7.0
    
  • 强制锁定Android原生依赖版本:在android/app/build.gradle的android块内添加配置,避免Firestore原生依赖被ML Kit依赖替换:
    configurations.all {
        resolutionStrategy {
            force 'com.google.firebase:firebase-firestore:24.10.0' // 替换为与cloud_firestore版本匹配的原生版本
        }
    }
    
  • 调整初始化顺序:在main函数中优先初始化Firebase,再加载ML Kit相关组件:
    void main() async {
      WidgetsFlutterBinding.ensureInitialized();
      await Firebase.initializeApp();
      runApp(const MyApp());
    }
    

内容的提问来源于stack exchange,提问作者and waojd

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.08.07 11:05:23