2016-04-18 13 views
0

Ich habe seit Stunden versucht zu versuchen, entweder die OpenCV Manager-Anwendung auf dem Samsung Galaxy S5 zu funktionieren oder einen statischen Import der opencv-Bibliothek und keiner hat funktioniert. Ich benutze OpenCv 2.4.11.OpenCV für Android - kann Bibliothek nicht laden

Für den statischen Import ich die folgende Fehlermeldung erhalten:

04-18 20:49:08.591 15911-15911/com.example.jsupp.myapplication D/OpenCV/StaticHelper: Trying to get library list 
04-18 20:49:08.601 15911-15911/com.example.jsupp.myapplication E/OpenCV/StaticHelper: OpenCV error: Cannot load info library for OpenCV 
04-18 20:49:08.601 15911-15911/com.example.jsupp.myapplication D/OpenCV/StaticHelper: Library list: "" 
04-18 20:49:08.601 15911-15911/com.example.jsupp.myapplication D/OpenCV/StaticHelper: First attempt to load libs 
04-18 20:49:08.601 15911-15911/com.example.jsupp.myapplication D/OpenCV/StaticHelper: Trying to init OpenCV libs 
04-18 20:49:08.601 15911-15911/com.example.jsupp.myapplication D/OpenCV/StaticHelper: Trying to load library opencv_java 
04-18 20:49:08.601 15911-15911/com.example.jsupp.myapplication D/OpenCV/StaticHelper: Cannot load library "opencv_java" 
04-18 20:49:08.601 15911-15911/com.example.jsupp.myapplication W/System.err: java.lang.UnsatisfiedLinkError: dalvik.system.PathClassLoader[DexPathList[[zip file "/data/app/com.example.jsupp.myapplication-2/base.apk"],nativeLibraryDirectories=[/vendor/lib, /system/lib]]] couldn't find "libopencv_java.so" 
04-18 20:49:08.611 15911-15911/com.example.jsupp.myapplication W/System.err:  at java.lang.Runtime.loadLibrary(Runtime.java:366) 
04-18 20:49:08.611 15911-15911/com.example.jsupp.myapplication W/System.err:  at java.lang.System.loadLibrary(System.java:989) 
04-18 20:49:08.611 15911-15911/com.example.jsupp.myapplication W/System.err:  at org.opencv.android.StaticHelper.loadLibrary(StaticHelper.java:64) 
04-18 20:49:08.611 15911-15911/com.example.jsupp.myapplication W/System.err:  at org.opencv.android.StaticHelper.initOpenCVLibs(StaticHelper.java:95) 
04-18 20:49:08.611 15911-15911/com.example.jsupp.myapplication W/System.err:  at org.opencv.android.StaticHelper.initOpenCV(StaticHelper.java:39) 
04-18 20:49:08.611 15911-15911/com.example.jsupp.myapplication W/System.err:  at org.opencv.android.OpenCVLoader.initDebug(OpenCVLoader.java:66) 
04-18 20:49:08.611 15911-15911/com.example.jsupp.myapplication W/System.err:  at com.example.jsupp.myapplication.CalcMatches.<clinit>(CalcMatches.java:55) 
04-18 20:49:08.611 15911-15911/com.example.jsupp.myapplication W/System.err:  at java.lang.reflect.Constructor.newInstance(Native Method) 
04-18 20:49:08.611 15911-15911/com.example.jsupp.myapplication W/System.err:  at java.lang.Class.newInstance(Class.java:1650) 
04-18 20:49:08.611 15911-15911/com.example.jsupp.myapplication W/System.err:  at android.app.Instrumentation.newActivity(Instrumentation.java:1079) 
04-18 20:49:08.611 15911-15911/com.example.jsupp.myapplication W/System.err:  at android.app.ActivityThread.performLaunchActivity(ActivityThread.java:2505) 
04-18 20:49:08.611 15911-15911/com.example.jsupp.myapplication W/System.err:  at android.app.ActivityThread.handleLaunchActivity(ActivityThread.java:2723) 
04-18 20:49:08.611 15911-15911/com.example.jsupp.myapplication W/System.err:  at android.app.ActivityThread.access$900(ActivityThread.java:172) 
04-18 20:49:08.611 15911-15911/com.example.jsupp.myapplication W/System.err:  at android.app.ActivityThread$H.handleMessage(ActivityThread.java:1422) 
04-18 20:49:08.611 15911-15911/com.example.jsupp.myapplication W/System.err:  at android.os.Handler.dispatchMessage(Handler.java:102) 
04-18 20:49:08.611 15911-15911/com.example.jsupp.myapplication W/System.err:  at android.os.Looper.loop(Looper.java:145) 
04-18 20:49:08.611 15911-15911/com.example.jsupp.myapplication W/System.err:  at android.app.ActivityThread.main(ActivityThread.java:5832) 
04-18 20:49:08.611 15911-15911/com.example.jsupp.myapplication W/System.err:  at java.lang.reflect.Method.invoke(Native Method) 
04-18 20:49:08.611 15911-15911/com.example.jsupp.myapplication W/System.err:  at java.lang.reflect.Method.invoke(Method.java:372) 
04-18 20:49:08.611 15911-15911/com.example.jsupp.myapplication W/System.err:  at com.android.internal.os.ZygoteInit$MethodAndArgsCaller.run(ZygoteInit.java:1399) 
04-18 20:49:08.611 15911-15911/com.example.jsupp.myapplication W/System.err:  at com.android.internal.os.ZygoteInit.main(ZygoteInit.java:1194) 
04-18 20:49:08.611 15911-15911/com.example.jsupp.myapplication D/OpenCV/StaticHelper: First attempt to load libs fails 
04-18 20:49:08.691 15911-15911/com.example.jsupp.myapplication V/BitmapFactory: DecodeImagePath(decodeResourceStream3) : res/drawable-xhdpi-v4/ic_dialog_email.png 
04-18 20:49:08.731 15911-15911/com.example.jsupp.myapplication V/BitmapFactory: DecodeImagePath(decodeResourceStream3) : res/drawable-xxhdpi-v4/abc_ic_ab_back_mtrl_am_alpha.png 
04-18 20:49:08.751 15911-15911/com.example.jsupp.myapplication I/art: Alloc sticky concurrent mark sweep GC freed 2055(202KB) AllocSpace objects, 0(0B) LOS objects, 9% free, 76MB/84MB, paused 273us total 5.724ms 
04-18 20:49:08.781 15911-15911/com.example.jsupp.myapplication I/art: Alloc partial concurrent mark sweep GC freed 309(25KB) AllocSpace objects, 2(60MB) LOS objects, 50% free, 15MB/31MB, paused 414us total 32.850ms 
04-18 20:49:08.991 15911-15911/com.example.jsupp.myapplication E/art: No implementation found for long org.opencv.core.Mat.n_Mat(int, int, int) (tried Java_org_opencv_core_Mat_n_1Mat and Java_org_opencv_core_Mat_n_1Mat__III) 

Für die statische Implementierung ich einfach die openCV.initDebug Methode verwendet:

static { 
     if (!OpenCVLoader.initDebug()) { 
      // Handle initialization error 
     } 
    } 

Und ich kopierte die Libs Faltblätter aber Android Studio scheint nicht in der Lage zu sein, die Bibliothek zu finden oder den libs-Ordner in die Anwendung auf dem Telefon aufzunehmen.

Ich habe auch versucht, die openCV-Manager-Anwendung zu verwenden, indem Sie diesem Tutorial folgen: http://docs.opencv.org/2.4/doc/tutorials/introduction/android_binary_package/dev_with_OCV_on_Android.html#application-development-with-static-initialization, die nichts zurückgibt, um anzuzeigen, dass die Initialisierung funktioniert hat.

Was mache ich falsch? Jede Hilfe wäre willkommen!

Antwort

0

Ich erkannte das Problem, es war im Grunde nur eine Frage der Ortung einiger Codezeilen. Ich habe eine Codezeile ausgeführt: Mat testMat = new Mat(); in der onCreate-Methode, die es der Anwendung daher nicht erlaubt, die OpenCV-Initialisierungsmethode zu erreichen. Dies ist ein Link zu der Seite, die ich die Lösung finden geholfen:

UnsatisfiedLinkError: n_Mat while using opencv2.4.3 with android 4.0

Verwandte Themen