web-dev-qa-db-ja.com

Androidバーコードを検出できないためのGoogleMLキットバーコードスキャナーサンプルアプリ

GoogleMLキットのバーコード検出機能を使用しようとしています。このために、私はインストールしました このサンプルアプリ グーグルによって提供されます。また、アプリをFirebaseプロジェクトの1つに接続しました。アプリを開いて、そのバーコード検出で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」が見つかりませんでした

このアプリをHuaweiMate8とSamsungGalaxy S7Edgeの2台の電話にインストールしました。アプリは両方の電話からバーコードを検出することはできません。

私の目的は、ライブカメラプレビューからバーコードを検出/スキャンすることです。ありがとう。

5
CuriousHash

質問の最初の部分「バーコード検出モデルがダウンロードされるのを待っています。お待ちください。」

これは、デバイスに十分なストレージがない場合、またはデータ接続がデバイスにない場合に発生する可能性があります。 Google Play開発者サービスのデータを消去すると、再試行が機能するはずです。

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

マニフェストのメタデータタグ質問の一部:

これは、本番環境のユースケースに役立ちます。つまり、エンドユーザーがPlayストアからアプリをインストールすると、インストール時にそのメタデータタグを使用してモデルがダウンロードされます。ただし、開発中は、モデルが一度ダウンロードされるのを待つ必要があります。

Dynamiteモジュールのロードエラーに関する質問の最後の部分(コメントを追加するのに十分な評判がないので、ここに追加します):

どのAndroidバージョンとGooglePlay開発者サービスのバージョンを実行していますか?

6
Pannag Sanketi