我尝试使用Google ML套件条形码检测功能。为此,我安装了谷歌提供的this example app。我还将我的应用程序连接到我的一个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:没找到类 &#34; com.google.android.gms.chimera.DynamiteModuleInitializer&#34;
我已经在华为Mate 8和三星Galaxy S7 Edge这两款手机上安装了这个应用程序。该应用程序无法检测两部手机的条形码。
我的目标是从实时相机预览中检测/扫描条形码。 谢谢。
答案 0 :(得分:5)
问题的第一部分&#34;等待下载条形码检测模型。请稍等。&#34; :
如果设备上没有足够的存储空间或设备上没有数据连接,则会发生这种情况。清除Google Play服务的数据并重试应该有效:
Settings->Apps->Google Play Services->Storage->Manage Space->Clear All Data
在问题的清单部分的元数据标记中:
这有助于生产用例,即当最终用户从Play商店安装应用程序时,在安装时使用该元数据标签下载模型。但是,在开发过程中,您仍然需要等待模型下载一次。
关于Dynamite模块加载错误的问题的最后一部分(我没有足够的声誉来添加评论,所以在这里添加它):
您运行的Android版本和Google Play服务版本是什么?
答案 1 :(得分:2)
添加此依赖项。它对我有用。
implementation 'com.google.firebase:firebase-ml-vision-barcode-model:16.0.2'