JavaCV库上的NoClassDefFoundError和ClassNotFoundException

JavaCV库上的NoClassDefFoundError和ClassNotFoundException,java,android,javacv,Java,Android,Javacv,我尝试在Android Studio中使用,但每次我尝试使用该库并运行它时,它都会崩溃,logcat会显示此错误 01-03 09:16:32.242 15233-15233/com.example.user.dmr E/AndroidRuntime: FATAL EXCEPTION: main 01-03 09:16:32.242 15233-15233/com.example.user.dmr E/AndroidRuntime: java.lang.NoClassDefFoundErro

我尝试在Android Studio中使用,但每次我尝试使用该库并运行它时,它都会崩溃,logcat会显示此错误

01-03 09:16:32.242 15233-15233/com.example.user.dmr E/AndroidRuntime: FATAL 

EXCEPTION: main
01-03 09:16:32.242 15233-15233/com.example.user.dmr E/AndroidRuntime: java.lang.NoClassDefFoundError: java.lang.ClassNotFoundException: org.bytedeco.javacpp.opencv_core
01-03 09:16:32.242 15233-15233/com.example.user.dmr E/AndroidRuntime:     at org.bytedeco.javacpp.Loader.load(Loader.java:392)
01-03 09:16:32.242 15233-15233/com.example.user.dmr E/AndroidRuntime:     at org.bytedeco.javacpp.Loader.load(Loader.java:358)
01-03 09:16:32.242 15233-15233/com.example.user.dmr E/AndroidRuntime:     at org.bytedeco.javacpp.opencv_imgcodecs.<clinit>(opencv_imgcodecs.java:13)
01-03 09:16:32.242 15233-15233/com.example.user.dmr E/AndroidRuntime:     at com.example.user.dmr.MainActivity.onCreate(MainActivity.java:20)
01-03 09:16:32.242 15233-15233/com.example.user.dmr E/AndroidRuntime:     at android.app.Activity.performCreate(Activity.java:5122)
01-03 09:16:32.242 15233-15233/com.example.user.dmr E/AndroidRuntime:     at android.app.Instrumentation.callActivityOnCreate(Instrumentation.java:1084)
01-03 09:16:32.242 15233-15233/com.example.user.dmr E/AndroidRuntime:     at android.app.ActivityThread.performLaunchActivity(ActivityThread.java:2307)
01-03 09:16:32.242 15233-15233/com.example.user.dmr E/AndroidRuntime:     at android.app.ActivityThread.handleLaunchActivity(ActivityThread.java:2395)
01-03 09:16:32.242 15233-15233/com.example.user.dmr E/AndroidRuntime:     at android.app.ActivityThread.access$600(ActivityThread.java:162)
01-03 09:16:32.242 15233-15233/com.example.user.dmr E/AndroidRuntime:     at android.app.ActivityThread$H.handleMessage(ActivityThread.java:1364)
01-03 09:16:32.242 15233-15233/com.example.user.dmr E/AndroidRuntime:     at android.os.Handler.dispatchMessage(Handler.java:107)
01-03 09:16:32.242 15233-15233/com.example.user.dmr E/AndroidRuntime:     at android.os.Looper.loop(Looper.java:194)
01-03 09:16:32.242 15233-15233/com.example.user.dmr E/AndroidRuntime:     at android.app.ActivityThread.main(ActivityThread.java:5392)
01-03 09:16:32.242 15233-15233/com.example.user.dmr E/AndroidRuntime:     at java.lang.reflect.Method.invokeNative(Native Method)
01-03 09:16:32.242 15233-15233/com.example.user.dmr E/AndroidRuntime:     at java.lang.reflect.Method.invoke(Method.java:525)
01-03 09:16:32.242 15233-15233/com.example.user.dmr E/AndroidRuntime:     at com.android.internal.os.ZygoteInit$MethodAndArgsCaller.run(ZygoteInit.java:833)
01-03 09:16:32.242 15233-15233/com.example.user.dmr E/AndroidRuntime:     at com.android.internal.os.ZygoteInit.main(ZygoteInit.java:600)
01-03 09:16:32.242 15233-15233/com.example.user.dmr E/AndroidRuntime:     at dalvik.system.NativeStart.main(Native Method)
01-03 09:16:32.242 15233-15233/com.example.user.dmr E/AndroidRuntime:  Caused by: java.lang.ClassNotFoundException: org.bytedeco.javacpp.opencv_core
01-03 09:16:32.242 15233-15233/com.example.user.dmr E/AndroidRuntime:     at java.lang.Class.classForName(Native Method)
01-03 09:16:32.242 15233-15233/com.example.user.dmr E/AndroidRuntime:     at java.lang.Class.forName(Class.java:217)
我已经在外部库中添加了javacv库。这是我添加到build.gradle中的依赖项

dependencies {
compile fileTree(include: ['*.jar'], dir: 'libs')
compile group: 'org.bytedeco', name: 'javacv', version: '1.0'
}

你知道为什么它一直在发生,以及如何修复它吗?谢谢。

我想您也需要javacpp预设

在gradle依赖项中尝试以下方法:

compile group: 'org.bytedeco.javacpp-presets', name: 'opencv', version: '3.0.0' + '-1.0'

compile group: 'org.bytedeco', name: 'javacv', version: '1.0'

您正在使用proguard吗?我想是的,因为build.gradle包含以下行:buildTypes{release{minifyEnabled false proguardFiles getDefaultProguardFile('proguard-android.txt'),'proguard rules.pro'}那么这不应该是一个proguard问题,因为
minifyEnabled
false
也许你应该看看我试过的编译组:'org.bytedeco.javacpp presets',名称:'opencv',版本:'3.0.0-1.0',分类器:'android arm'(因为urs没有编译),当我在设备上测试它时出现另一个错误:a/libc:Fatal signal 11(SIGSEGV)在0x00000028(代码=1),线程28699(example.user.dmr)知道为什么会发生这种情况吗?我删除了分类器:“android arm”,错误又回来了(NoClassDefFoundError和ClassNotFoundException)
compile group: 'org.bytedeco.javacpp-presets', name: 'opencv', version: '3.0.0' + '-1.0'

compile group: 'org.bytedeco', name: 'javacv', version: '1.0'