HarmonyOS鸿蒙Next中google_mlkit_barcode_scanning插件适配

HarmonyOS鸿蒙Next中google_mlkit_barcode_scanning插件适配 问题描述: 一个 Flutter 插件,使用 Google 的 ML Kit 条形码扫描功能读取以大多数标准条形码格式编码的数据

缺少鸿蒙端适配

问题现象: 一个 Flutter 插件,使用 Google 的 ML Kit 条形码扫描功能读取以大多数标准条形码格式编码的数据

缺少鸿蒙端适配

版本信息: Flutter ohos分支

插件链接: https://github.com/flutter-ml/google_ml_kit_flutter/tree/master/packages/google_mlkit_barcode_scanning

cke_424.png


更多关于HarmonyOS鸿蒙Next中google_mlkit_barcode_scanning插件适配的实战教程也可以访问 https://www.itying.com/category-93-b0.html

4 回复

开发者你好,当前还没有相关的关于该库的适配计划,

建议使用已经适配完成的插件库:flutter_barcode_scanner

序号 原库名 3.7推荐使用版本 3.22推荐使用版本 3.27推荐使用版本 仓库名
99 flutter_barcode_scanner 2.0.0 2.0.0 fluttertpc_flutter_barcode_scanner

更多关于HarmonyOS鸿蒙Next中google_mlkit_barcode_scanning插件适配的实战系列教程也可以访问 https://www.itying.com/category-93-b0.html


flutter已经适配完成的插件库:fluttertpc_flutter_barcode_scanner,可以试一下当前这个库是否满足需要。

鸿蒙Next中适配google_mlkit_barcode_scanning插件,需使用ArkTS/TS开发。鸿蒙提供了系统级扫码能力(@ohos.barCodeScanKit),可直接替代。若需复用插件逻辑,需基于鸿蒙API重写扫码功能模块,使用ArkUI框架构建界面,并通过N-API或FFI机制调用底层C++库(如ZXing-C++)实现核心识别。整个过程不涉及Java或C语言应用层开发。

在HarmonyOS Next中,google_mlkit_barcode_scanning 这类依赖Google Mobile Services(GMS)和Google Play服务的Flutter插件无法直接使用。该插件的核心功能基于Google ML Kit,而ML Kit是Google生态的专有服务,与HarmonyOS Next不兼容。

要实现条形码扫描功能,你需要采用替代方案:

  1. 使用HarmonyOS原生能力:HarmonyOS提供了强大的多媒体子系统AI框架。你可以通过调用HarmonyOS的相机Kit图像处理能力来自主实现条形码扫描,或者集成第三方纯视觉算法库(如ZXing的C++/纯代码版本)。

  2. 寻找或开发鸿蒙原生插件:你需要一个为HarmonyOS重新开发的Flutter插件。可以关注社区是否已有基于HarmonyOS ArkTS/NDK开发的条形码扫描插件。如果没有,你需要:

    • 使用HarmonyOS的NDK(C/C++)或ArkTS/JS API开发一个原生的条形码扫描模块。
    • 按照Flutter FFI(Foreign Function Interface)或Platform Channel(Method Channel)的规范,将该原生模块封装成一个新的Flutter插件,供你的Flutter(ohos分支)工程调用。

总结:直接迁移或适配该GMS依赖型插件不可行。解决方案是绕开Google ML Kit,基于HarmonyOS的原生能力重新实现扫描功能,并封装为新的Flutter插件。

回到顶部