7

我正在尝试使用 Google ML kit 条形码检测功能。为此,我安装了 google 提供的这个示例应用程序。我还将我的应用程序连接到我的一个 firebase 项目。当我打开应用程序并转到该条码检测中的 LivePreviewActivity 时。相机启动但未检测到条形码!。根据快速入门指南,我还添加了

<meta-data
    android:name="com.google.firebase.ml.vision.DEPENDENCIES"
    android:value="barcode" />

在我的清单文件中。我也包括了这个

FirebaseVisionBarcodeDetectorOptions options =
            new FirebaseVisionBarcodeDetectorOptions.Builder()
                    .setBarcodeFormats(
                            FirebaseVisionBarcode.FORMAT_CODE_128)
                    .build(); 

在 BarcodeScanningProcessor.java 文件中。

我得到的错误是:

条码检测失败 com.google.firebase.ml.common.FirebaseMLException:等待条码检测模型下载。请稍等。

E/BarcodeNativeHandle:加载模块时出错

java.lang.ClassNotFoundException:找不到类“com.google.android.gms.chimera.DynamiteModuleInitializer”

我已经在两部手机华为 Mate 8 和三星 Galaxy S7 Edge 上安装了这个应用程序。该应用程序无法从两部手机中检测到条形码。

我的目标是从实时相机预览中检测/扫描条形码。谢谢。

4

2 回答 2

10

关于问题的第一部分“等待条码检测模型下载。请稍候。”

如果设备上没有足够的存储空间或设备上没有数据连接,则可能会发生这种情况。清除 Google Play 服务的数据并重试应该可以:

Settings->Apps->Google Play Services->Storage->Manage Space->Clear All Data

在问题清单部分的元数据标签上:

这有助于生产用例,即当最终用户从 Play 商店安装应用程序时,模型会在安装时使用该元数据标签下载。但是,在开发过程中,您仍然需要等待模型下载一次。

关于 Dynamite 模块加载错误的问题的最后一部分(我还没有足够的声誉来添加评论,所以在这里添加):

您运行的是哪个 Android 版本和 Google Play 服务版本?

于 2018-05-15T17:06:42.497 回答
2

添加此依赖项。它对我有用。

implementation 'com.google.firebase:firebase-ml-vision-barcode-model:16.0.2'
于 2020-02-27T12:00:39.930 回答