Android monodroid和emgu的不满意链接错误-libopencv_highgui.so以前未能加载

Android monodroid和emgu的不满意链接错误-libopencv_highgui.so以前未能加载,android,mono,xamarin.android,xamarin,emgucv,Android,Mono,Xamarin.android,Xamarin,Emgucv,使用Emgu-CV(libemgucv-android-2.4.2.1773-RC)运行Monodroid应用程序(Xamarin试用版)在尝试加载libopencv\u highgui时抛出一个不满意的链接错误。其他Emgu电话似乎工作正常 var camera = new Capture(); 在调试或发布模式(VisualStudio2010)下运行时出现相同的错误 我的解决方案和APK包括模拟CPU/ABI的所有正确SO文件(包括libopencv_highgui.SO) 我尝试了不同

使用Emgu-CV(libemgucv-android-2.4.2.1773-RC)运行Monodroid应用程序(Xamarin试用版)在尝试加载libopencv\u highgui时抛出一个
不满意的链接错误。其他Emgu电话似乎工作正常

var camera = new Capture();
  • 在调试或发布模式(VisualStudio2010)下运行时出现相同的错误
  • 我的解决方案和APK包括模拟CPU/ABI的所有正确SO文件(包括libopencv_highgui.SO)
  • 我尝试了不同的API级别,都有相同的错误
  • “adb logcat”似乎与下面的VS异常堆栈没有任何不同
  • 下面是异常堆栈

    D/dalvikvm( 1228): Trying to load lib /data/app-lib/EyeReaderApp.EyeReaderApp-1/libopencv_highgui.so 0x40ce22a0
    E/dalvikvm( 1228): dlopen("/data/app-lib/EyeReaderApp.EyeReaderApp-1/libopencv_highgui.so") failed: Cannot load library: find_library(linker.cpp:889): "/data/app-lib/EyeReaderApp.EyeReaderApp-1/libopencv_highgui.so" failed to load previously
    Unhandled Exception:
    
    Java.Lang.UnsatisfiedLinkError: 
    Unhandled Exception:
    
    System.TypeInitializationException: 
    I/MonoDroid( 1228): UNHANDLED EXCEPTION: System.TypeInitializationException: An exception was thrown by the type initializer for Emgu.CV.CvInvoke ---> Java.Lang.UnsatisfiedLinkError: Exception of type 'Java.Lang.UnsatisfiedLinkError' was thrown.
    I/MonoDroid( 1228):   at Android.Runtime.JNIEnv.CallStaticVoidMethod (IntPtr jclass, IntPtr jmethod, Android.Runtime.JValue[] parms) [0x00023] in /Users/builder/data/lanes/monodroid-lion-bigsplash/0e0e51f9/source/monodroid/src/Mono.Android/src/Runtime/JNIEnv.g.cs:973 
    I/MonoDroid( 1228):   at Java.Lang.JavaSystem.LoadLibrary (System.String libName) [0x00034] in /Users/builder/data/lanes/monodroid-lion-bigsplash/0e0e51f9/source/monodroid/src/Mono.Android/platforms/android-14/src/generated/Java.Lang.JavaSystem.cs:259 
    I/MonoDroid( 1228):   at Emgu.CV.CvInvoke..cctor () [0x00158] in E:\Visual Studio 2010\Projects\EyeReader\Android\libemgucv-android-2.4.2.1773-RC\Emgu.CV\PInvoke\CvInvokeCore.cs:154 
    I/MonoDroid( 1228):   --- End of managed exception stack trace ---
    I/MonoDroid( 1228): java.lang.UnsatisfiedLinkError: Cannot load library: find_library(linker.cpp:889): "/data/app-lib/EyeReaderApp.EyeReaderApp-1/libopencv_highgui.so" failed to load previously
    I/MonoDroid( 1228):     at java.lang.Runtime.loadLibrary(Runtime.java:371)
    I/MonoDroid( 1228):     at java.lang.System.loadLibrary(System.java:535)
    I/MonoDroid( 1228):     at mono.android.view.View_OnClickListenerImplementor.n_onClick(Native Method)
    I/MonoDroid( 1228):     at mono.android.view.View_OnClickListenerImplementor.onClick(View_OnClickListenerImplementor.java:29)
    I/MonoDroid( 1228):     at android.view.View.performClick(View.java:4204)
    I/MonoDroid( 1228):     at android.view.View$PerformClick.run(View.java:17355)
    I/MonoDroid( 1228):     at android.os.Handler.handleCallback(Handler.java:725)
    I/MonoDroid( 1228):     at android.os.Handler.dispatchMessage(Handler.java:92)
    I/MonoDroid( 1228):     at android.os.Looper.loop(Looper.java:137)
    I/MonoDroid( 1228):     at android.app.ActivityThread.main(ActivityThread.java:5041)
    I/MonoDroid( 1228):     at java.lang.reflect.Method.invokeNative(Native Method)
    I/MonoDroid( 1228):     at java.lang.reflect.Method.invoke(Method.java:511)
    I/MonoDroid( 1228):     at com.android.internal.os.ZygoteInit$MethodAndArgsCaller.run(ZygoteInit.java:793)
    I/MonoDroid( 1228):     at com.android.internal.os.ZygoteInit.main(ZygoteInit.java:560)
    I/MonoDroid( 1228):     at dalvik.system.NativeStart.main(Native Method)
    I/MonoDroid( 1228): 
    I/MonoDroid( 1228):   --- End of inner exception stack trace ---
    I/MonoDroid( 1228): at Emgu.CV.Capture..ctor (int) [0x0001d] in E:\Visual Studio 2010\Projects\EyeReader\Android\libemgucv-android-2.4.2.1773-RC\Emgu.CV\Capture\Capture.cs:162
    I/MonoDroid( 1228): at Emgu.CV.Capture..ctor () [0x00000] in E:\Visual Studio 2010\Projects\EyeReader\Android\libemgucv-android-2.4.2.1773-RC\Emgu.CV\Capture\Capture.cs:149
    I/MonoDroid( 1228): at EyeReaderApp.MainScreen.StartCamera () [0x00010] in E:\Visual Studio 2010\Projects\EyeReader\Android\EyeReaderApp\Screens\MainScreen.cs:78
    I/MonoDroid( 1228): at EyeReaderApp.MainScreen.CameraButton_Click (object,System.EventArgs) [0x00017] in E:\Visual Studio 2010\Projects\EyeReader\Android\EyeReaderApp\Screens\MainScreen.cs:62
    I/MonoDroid( 1228): at Android.Views.View/IOnClickListenerImplementor.OnClick (Android.Views.View) [0x0000b] in /Users/builder/data/lanes/monodroid-lion-bigsplash/0e0e51f9/source/monodroid/src/Mono.Android/platforms/android-14/src/generated/Android.Views.View.cs:1267
    I/MonoDroid( 1228): at Android.Views.View/IOnClickListenerInvoker.n_OnClick_Landroid_view_View_ (intptr,intptr,intptr) [0x00010] in /Users/builder/data/lanes/monodroid-lion-bigsplash/0e0e51f9/source/monodroid/src/Mono.Android/platforms/android-14/src/generated/Android.Views.View.cs:1238
    I/MonoDroid( 1228): at (wrapper dynamic-method) object.7be55d07-8ea3-4414-a38c-584f4ca07a4b (intptr,intptr,intptr) <IL 0x00017, 0x00043>
    Unhandled Exception:
    
    System.TypeInitializationException: 
    E/mono    ( 1228): 
    E/mono    ( 1228): Unhandled Exception:
    E/mono    ( 1228): System.TypeInitializationException: An exception was thrown by the type initializer for Emgu.CV.CvInvoke ---> Java.Lang.UnsatisfiedLinkError: Exception of type 'Java.Lang.UnsatisfiedLinkError' was thrown.
    E/mono    ( 1228):   at Android.Runtime.JNIEnv.CallStaticVoidMethod (IntPtr jclass, IntPtr jmethod, Android.Runtime.JValue[] parms) [0x00023] in /Users/builder/data/lanes/monodroid-lion-bigsplash/0e0e51f9/source/monodroid/src/Mono.Android/src/Runtime/JNIEnv.g.cs:973 
    E/mono    ( 1228):   at Java.Lang.JavaSystem.LoadLibrary (System.String libName) [0x00034] in /Users/builder/data/lanes/monodroid-lion-bigsplash/0e0e51f9/source/monodroid/src/Mono.Android/platforms/android-14/src/generated/Java.Lang.JavaSystem.cs:259 
    E/mono    ( 1228):   at Emgu.CV.CvInvoke..cctor () [0x00158] in E:\Visual Studio 2010\Projects\EyeReader\Android\libemgucv-android-2.4.2.1773-RC\Emgu.CV\PInvoke\CvInvokeCore.cs:154 
    E/mono    ( 1228):   --- End of managed exception stack trace ---
    E/mono    ( 1228): java.lang.UnsatisfiedLinkError: Cannot load library: find_library(linker.cpp:889): "/data/app-lib/EyeRea
    I/mono    ( 1228): [ERROR] FATAL UNHANDLED EXCEPTION: System.TypeInitializationException: An exception was thrown by the type initializer for Emgu.CV.CvInvoke ---> Java.Lang.UnsatisfiedLinkError: Exception of type 'Java.Lang.UnsatisfiedLinkError' was thrown.
    I/mono    ( 1228):   at Android.Runtime.JNIEnv.CallStaticVoidMethod (IntPtr jclass, IntPtr jmethod, Android.Runtime.JValue[] parms) [0x00023] in /Users/builder/data/lanes/monodroid-lion-bigsplash/0e0e51f9/source/monodroid/src/Mono.Android/src/Runtime/JNIEnv.g.cs:973 
    The program 'Mono' has exited with code 255 (0xff).
    
    D/dalvikvm(1228):尝试加载lib/data/app lib/eyerederapp.eyerederapp-1/libopencv_highgui.so 0x40ce22a0
    E/dalvikvm(1228):dlopen(“/data/app-lib/eyerederapp.eyerederapp-1/libopencv\u highgui.so”)失败:无法加载库:find\u库(linker.cpp:889):“/data/app-lib/eyerederapp.eyerederapp-1/libopencv\u highgui.so”先前加载失败
    未处理的异常:
    Java.Lang.UnsatifiedLink错误:
    未处理的异常:
    System.TypeInitializationException:
    I/MonoDroid(1228):未处理的异常:System.TypeInitializationException:Emgu.CvInvoke--->Java.Lang.UnsatifiedLinkError的类型初始值设定项引发了异常:引发了“Java.Lang.UnsatifiedLinkError”类型的异常。
    I/MonoDroid(1228):在Android.Runtime.JNIEnv.CallStaticVoidMethod(IntPtr jclass,IntPtr jmethod,Android.Runtime.JValue[]parms)[0x00023]in/Users/builder/data/lanes/MonoDroid lion bigsplash/0e5e51f9/source/MonoDroid/src/Mono.Android/src/Runtime/JNIEnv.g.cs:973
    I/MonoDroid(1228):位于/Users/builder/data/lanes/MonoDroid-lion-bigssplash/0e0e51f9/source/MonoDroid/src/Mono.Android/platforms/Android-14/src/generated/Java.Lang.JavaSystem.cs:259中的Java.Lang.JavaSystem.LoadLibrary(System.String libName)[0x00034]
    I/MonoDroid(1228):位于E:\Visual Studio 2010\Projects\eyereder\Android\libemgucv-Android-2.4.2.1773-RC\Emgu.CV\PInvoke\CvInvokeCore.cs:154中的Emgu.CV.CvInvoke..cctor()[0x00158]
    I/MonoDroid(1228):--托管异常堆栈跟踪的结束---
    I/MonoDroid(1228):java.lang.UnsatisfiedLink错误:无法加载库:find_library(linker.cpp:889):“/data/app lib/eyerederapp.eyerederapp-1/libopencv_highgui.so”以前加载失败
    I/MonoDroid(1228):位于java.lang.Runtime.loadLibrary(Runtime.java:371)
    I/MonoDroid(1228):位于java.lang.System.loadLibrary(System.java:535)
    I/MonoDroid(1228):位于mono.android.view.view\u OnClickListenerImplementor.n\u onClick(本机方法)
    I/MonoDroid(1228):位于mono.android.view.view\u OnClickListenerImplementor.onClick(view\u OnClickListenerImplementor.java:29)
    I/MonoDroid(1228):位于android.view.view.performClick(view.java:4204)
    I/MonoDroid(1228):位于android.view.view$PerformClick.run(view.java:17355)
    I/MonoDroid(1228):位于android.os.Handler.handleCallback(Handler.java:725)
    I/MonoDroid(1228):位于android.os.Handler.dispatchMessage(Handler.java:92)
    I/MonoDroid(1228):位于android.os.Looper.loop(Looper.java:137)
    I/MonoDroid(1228):位于android.app.ActivityThread.main(ActivityThread.java:5041)
    I/MonoDroid(1228):位于java.lang.reflect.Method.Invokenactive(本机方法)
    I/MonoDroid(1228):位于java.lang.reflect.Method.invoke(Method.java:511)
    I/MonoDroid(1228):位于com.android.internal.os.ZygoteInit$MethodAndArgsCaller.run(ZygoteInit.java:793)
    I/MonoDroid(1228):位于com.android.internal.os.ZygoteInit.main(ZygoteInit.java:560)
    I/单机器人(1228):位于dalvik.system.NativeStart.main(本机方法)
    I/单机器人(1228):
    I/MonoDroid(1228):--内部异常堆栈跟踪的结束---
    I/MonoDroid(1228):位于E:\Visual Studio 2010\Projects\EyeReader\Android\libemgucv-Android-2.4.2.1773-RC\Emgu.CV\Capture\Capture.cs:162中的Emgu.CV.Capture..ctor(int)[0x0001d]
    I/MonoDroid(1228):位于E:\Visual Studio 2010\Projects\EyeReader\Android\libemgucv-Android-2.4.2.1773-RC\Emgu.CV\Capture\Capture.cs:149中的Emgu.CV.Capture..ctor()[0x00000]
    I/MonoDroid(1228):位于E:\Visual Studio 2010\Projects\EyeReader\Android\EyeReaderApp\Screens\MainScreen.StartCamera()[0x00010]中的EyeReaderApp.MainScreen.cs:78
    I/MonoDroid(1228):在EyeReaderApp.MainScreen.CameraButton上单击(对象,System.EventArgs)[0x00017],位于E:\Visual Studio 2010\Projects\EyeReader\Android\EyeReaderApp\Screens\MainScreen.cs:62
    I/MonoDroid(1228):在/Users/builder/data/lanes/MonoDroid-lion-bigssplash/0e0e51f9/source/MonoDroid/src/Mono.Android/platforms/Android-14/src/generated/Android.View.cs:1267中的Android.Views.View/IOnClickListenerImplementor.OnClick(Android.Views.View)[0x0000b]
    I/MonoDroid(1228):在Android.Views.View/IOnClickListenerInvoker.n_OnClick_Landroid_View_View_View(intptr,intptr,intptr)[0x00010]in/Users/builder/data/lanes/MonoDroid lion bigsplash/0e5e51f9/source/MonoDroid/src/Mono.Android/platforms/Android-14/src/generated/Android.Views.View.cs:1238
    I/MonoDroid(1228):at(包装器动态方法)对象7be55d07-8ea3-4414-a38c-584f4ca07a4b(intptr、intptr、intptr)
    未处理的异常:
    System.TypeInitializationException:
    E/mono(1228):
    E/mono(1228):未处理的异常:
    E/mono(1228):System.TypeInitializationException:Emgu.CV.CvInvoke的类型初始值设定项引发了一个异常-->Java.Lang.UnsatifiedLinkError:引发了“Java.Lang.UnsatifiedLinkError”类型的异常。
    E/mono(1228):在Android.Runtime.JNIEnv.CallStaticVoidMethod(IntPtr jclass,IntPtr jmethod,Android.Runtime.JValue[]parms)[0x00023]in/Users/builder/data/lanes/monodroid lion bigsplash/0e0e51f9/source/monodroid/src/mono.Android/src/Runtime/JNIEnv.g.cs:973
    E/mono(1228):位于/Users/builder/data/lanes/monodroid-lion-bigslash/0e0e51f9/source/monodroid/src/mono.A中的Java.Lang.JavaSystem.LoadLibrary(System.String-libName)[0x00034]