flutter-ml / google_ml_kit_flutter如何集成使用

我在尝试将google_ml_kit_flutter插件集成到Flutter项目中时遇到了一些问题。按照官方文档进行配置后,Android端始终无法正常调用ML Kit功能,iOS端编译时报找不到相关符号的错误。请问:

  1. 最新的google_ml_kit_flutter是否需要额外配置Firebase?
  2. Android的build.gradle需要添加哪些最小化依赖?
  3. iOS的Podfile是否需要特殊设置?
  4. 有没有完整的示例代码展示图像标记(text recognition)的具体实现流程?

希望能得到具体的配置示例和常见问题解决方案。

2 回复

集成步骤:

  1. 在pubspec.yaml添加依赖:google_ml_kit: ^x.x.x
  2. 运行flutter pub get
  3. 在Android的android/app/build.gradle中设置minSdkVersion≥21
  4. iOS需在Podfile添加platform :ios, '10.0'
  5. 按需导入包并调用API,如文本识别、人脸检测等

更多关于flutter-ml / google_ml_kit_flutter如何集成使用的实战系列教程也可以访问 https://www.itying.com/category-92-b0.html


在Flutter中集成Google ML Kit,可以通过google_ml_kit插件实现,支持文本识别、人脸检测、条码扫描等功能。以下是集成步骤及示例:

1. 添加依赖

pubspec.yaml 中添加:

dependencies:
  google_ml_kit: ^x.x.x  # 使用最新版本

2. 配置平台(Android/iOS)

  • Android:最低SDK版本需 ≥ 21(在 android/app/build.gradle 中设置)。
  • iOS:在 ios/Podfile 第一行添加:
    platform :ios, '10.0'
    
    并在 Info.plist 中添加相机权限描述(如使用相机相关功能):
    <key>NSCameraUsageDescription</key>
    <string>需要相机权限进行图像识别</string>
    

3. 使用示例:文本识别

import 'package:google_ml_kit/google_ml_kit.dart';
import 'package:image_picker/image_picker.dart';

// 从图库选择图片并识别文本
Future<void> recognizeText() async {
  final image = await ImagePicker().pickImage(source: ImageSource.gallery);
  if (image == null) return;

  final inputImage = InputImage.fromFilePath(image.path);
  final textRecognizer = TextRecognizer();
  final recognizedText = await textRecognizer.processImage(inputImage);

  for (final block in recognizedText.blocks) {
    print('识别文本: ${block.text}');
  }
  textRecognizer.close(); // 释放资源
}

4. 其他功能示例

  • 人脸检测
    final faceDetector = FaceDetector();
    final faces = await faceDetector.processImage(inputImage);
    
  • 条码扫描
    final barcodeScanner = BarcodeScanner();
    final barcodes = await barcodeScanner.processImage(inputImage);
    

5. 注意事项

  • 按需使用功能以减少应用体积(Android可通过on-demand动态加载模型)。
  • 处理完成后调用close()释放资源。
  • 详细API参考官方文档

通过以上步骤即可快速集成机器学习功能到Flutter应用中。

回到顶部