2016-04-28 6 views
0

Wenn ich Open cv in Android Studio für Eye Detection integrieren. Nach der Integration Nachricht Drucken Opencv erfolgreich installieren Nachricht generieren, aber nachdem sie Fehler gegeben.Opencv-Bibliothek zurück Null

konnte nicht geladen werden detection_based_tracker von loader dalvik.system.PathClassLoader [DexPathList [[zip Datei "/data/app/com.example.admin.lanskart-2.apk"], nativeLibraryDirectories = [/ data/app-lib/com.example.admin.lanskart-2/Verkäufer/lib,/system/lib]]]: findLibrary zurück null

Process: com.example.admin.lanskart, PID: 24341 
java.lang.UnsatisfiedLinkError: Couldn't load detection_based_tracker from loader dalvik.system.PathClassLoader[DexPathList[[zip file "/data/app/com.example.admin.lanskart-2.apk"],nativeLibraryDirectories=[/data/app-lib/com.example.admin.lanskart-2, /vendor/lib, /system/lib]]]: findLibrary returned null 
     at java.lang.Runtime.loadLibrary(Runtime.java:365) 
     at java.lang.System.loadLibrary(System.java:553) 
     at com.example.admin.lanskart.MainActivity$1.onManagerConnected(MainActivity.java:69) 
     at org.opencv.android.AsyncServiceHelper$3.onServiceConnected(AsyncServiceHelper.java:319) 
     at android.app.LoadedApk$ServiceDispatcher.doConnected(LoadedApk.java:1140) 
     at android.app.LoadedApk$ServiceDispatcher$RunConnection.run(LoadedApk.java:1157) 
     at android.os.Handler.handleCallback(Handler.java:808) 
     at android.os.Handler.dispatchMessage(Handler.java:103) 
     at android.os.Looper.loop(Looper.java:193) 
     at android.app.ActivityThread.main(ActivityThread.java:5299) 
     at java.lang.reflect.Method.invokeNative(Native Method) 
     at java.lang.reflect.Method.invoke(Method.java:515) 
     at com.android.internal.os.ZygoteInit$MethodAndArgsCaller.run(ZygoteInit.java:825) 
     at com.android.internal.os.ZygoteInit.main(ZygoteInit.java:641) 
     at dalvik.system.NativeStart.main(Native Method) 
+0

Ich glaube, du bist nicht zu geben genug Details sorgen um eine Antwort zu bekommen. Was hast du versucht? Hast du den Pfad für fehlende Bibliothek überprüft? und so weiter. Stell dir vor, du bist bei uns und musst das lösen ... –

Antwort

0

Sie müssen die Verzeichnisse Ihrer definieren jni Quelle in Ihrer Größe. Ihre App gradle sollte wie folgt sein:

apply plugin: 'com.android.model.application' 
model { 
    android { 
     compileSdkVersion = 22 
     buildToolsVersion = "23.0.0" 

     defaultConfig.with { 
      applicationId = "enter.your.packagename" 
      minSdkVersion.apiLevel = 10 
      targetSdkVersion.apiLevel = 22 
      versionCode = 1 
      versionName = "1.0" 
     } 


    } 

    android.buildTypes { 
     release { 
      minifyEnabled = false 
      proguardFiles += file('proguard-rules.pro') 
     } 
    } 

    /* 
    * native build settings 
    */ 
    android.ndk { 
     moduleName = "ndklibrarysample" 
     cppFlags += ["-std=c++11", "-fexceptions", "-frtti"] 
     cppFlags += "-I${file("D:yourpathtothesefiles/OpenCV-3.0.0-android-sdk-1/OpenCV-android-sdk/sdk/native/jni/include")}".toString() 
     ldLibs += ["android", "EGL", "GLESv2", "dl", "log", "z"] 
     stl = "gnustl_static" 
    } 

    android.productFlavors { 
     create("arm") { 
      ndk.with { 
       abiFilters += "armeabi" 

       File curDir = file('./') 
       curDir = file(curDir.absolutePath) 
       String libsDir = curDir.absolutePath + "\\src\\main\\jniLibs\\armeabi\\" 

       ldLibs += libsDir + "libopencv_java3.so" 
      } 
     } 
     create("armv7") { 
      ndk.with { 
       abiFilters += "armeabi-v7a" 

       File curDir = file('./') 
       curDir = file(curDir.absolutePath) 
       String libsDir = curDir.absolutePath + "\\src\\main\\jniLibs\\armeabi-v7a\\" 

       ldLibs += libsDir + "libopencv_java3.so" 
      } 
     } 
     create("x86") { 
      ndk.with { 
       abiFilters += "x86" 

       File curDir = file('./') 
       curDir = file(curDir.absolutePath) 
       String libsDir = curDir.absolutePath + "\\src\\main\\jniLibs\\x86\\" 

       ldLibs += libsDir + "libopencv_java3.so" 
      } 
     } 
     create("mips") { 
      ndk.with { 
       abiFilters += "mips" 

       File curDir = file('./') 
       curDir = file(curDir.absolutePath) 
       String libsDir = curDir.absolutePath + "\\src\\main\\jniLibs\\mips\\" 

       ldLibs += libsDir + "libopencv_java3.so" 
      } 
     } 
     create("fat") { 

     } 
    } 
} 

dependencies { 
    compile fileTree(include: ['*.jar'], dir: 'libs') 
    compile 'com.android.support:appcompat-v7:22.2.1' 
    compile project(':libraries:opencv') 
} 

und Classpath Projekt fromyour auf diese Version gradle Datei ändern und NDK Pfad Ihre local.properties Datei

classpath 'com.android.tools.build:gradle-experimental:0.2.0' 
+0

danke ich versuche das funktioniert gut] – samyakjain

+0

ihr seid herzlich willkommen .. :) also akzeptiere meine antwort (upvote es) @samyakjain –