Ich verwende Google Play Services Visible API für das Lesen von Barcodes. Ich habe einen Code von official CodeLabs example versucht, der bei einigen (überhaupt nicht) Geräten nicht funktioniert. Hier ist Logcat Nachricht:Android Google Play Service Vision Barcode-Scanner Bibliothek nicht gefunden
I/Vision﹕ Supported ABIS: [armeabi-v7a, armeabi]
D/Vision﹕ Library not found: /data/data/com.google.android.gms/files/com.google.android.gms.vision/barcode/libs/armeabi-v7a/libbarhopper.so
I/Vision﹕ Requesting barcode detector download.
D/AndroidRuntime﹕ Shutting down VM
E/AndroidRuntime﹕ FATAL EXCEPTION: main
Process: PID: 24921
java.lang.ArrayIndexOutOfBoundsException: length=0; index=0
at android.util.SparseArray.valueAt(SparseArray.java:273)
at MainActivity$1.onClick(MainActivity.java:50)
at android.view.View.performClick(View.java:4780)
at android.view.View$PerformClick.run(View.java:19866)
at android.os.Handler.handleCallback(Handler.java:739)
at android.os.Handler.dispatchMessage(Handler.java:95)
at android.os.Looper.loop(Looper.java:135)
at android.app.ActivityThread.main(ActivityThread.java:5254)
at java.lang.reflect.Method.invoke(Native Method)
at java.lang.reflect.Method.invoke(Method.java:372)
at com.android.internal.os.ZygoteInit$MethodAndArgsCaller.run(ZygoteInit.java:903)
at com.android.internal.os.ZygoteInit.main(ZygoteInit.java:698)
Das Problem ist, weil Gerät nicht Bibliothek /data/data/com.google.android.gms/files/com.google.android.gms.vision/barcode/libs/armeabi-v7a/libbarhopper.so
finden, und danach habe ich bekam Ausnahme, da Gerät nicht Barcode Erkennung (Liste des Barcodes ist leer).
Hier Code:
BarcodeDetector detector = new BarcodeDetector.Builder(getApplicationContext()).build();
Bitmap bitmap = ((BitmapDrawable) mBarcodeImageView.getDrawable()).getBitmap();
Frame frame = new Frame.Builder().setBitmap(bitmap).build();
SparseArray<Barcode> barcodes = detector.detect(frame);
Barcode thisCode = barcodes.valueAt(0);
TextView txtView = (TextView) findViewById(R.id.txtContent);
txtView.setText(thisCode.rawValue);
Das Google Play-Dienst auf allen Geräten aktualisiert.
Kann mir jemand helfen? Wie kann ich es reparieren?
Sieht aus wie Ihre Anwendung aufgrund einer 'ArrayIndexOutOfBoundsException' stürzt auf' MainActivity.java : 50', was überhaupt keine Google Play-Dienste sind. Was ist das für eine Linie? – ianhanniballake
@ianhanniballake, Ich habe nur Google Beispielcode unten hinzugefügt. Ich erwähnte, dass die Liste der Barcodes leer ist und das ist der Grund der Ausnahme. Die Liste der Barcodes ist jedoch leer, weil "Detektor" Barcodes nicht erkennen kann und das ist ein echtes Problem. Es passiert, weil das Gerät die Bibliothek, die ich oben erwähnt habe, nicht finden kann. – stolle
Siehe meine Antwort hier: http://stackoverflow.com/questions/32099530/google-vision-barcode-library-not-found/32100941#32100941 –