Android OpenCV_Core 的 JavaCV JAR 包含问题

Android JavaCV JAR inclusion issue with OpenCV_Core

当我为 javacv 编译项目宽度静态 javacv.jar、opencv.jar、ffmpeg.jar 和 javacpp.jar 文件时,我在运行时遇到以下异常。

02-05 23:23:56.513 8280-8280/com.teralogics.uvlens E/AndroidRuntime﹕ FATAL EXCEPTION: main Process: com.teralogics.uvlens, PID: 8280 java.lang.NoClassDefFoundError: java.lang.ClassNotFoundException: org.bytedeco.javacpp.opencv_core at org.bytedeco.javacpp.Loader.load(Loader.java:387) at org.bytedeco.javacpp.Loader.load(Loader.java:353) at org.bytedeco.javacpp.helper.opencv_core$AbstractArray.(opencv_core.java:126)

然而,当我遵循以下 gradle 配置建议时,它运行良好:

compile group: 'org.bytedeco', name: 'javacv', version: '0.10' compile group: 'org.bytedeco.javacpp-presets', name: 'opencv', version: '2.4.10-0.10', classifier: 'android-arm' compile group: 'org.bytedeco.javacpp-presets', name: 'ffmpeg', version: '2.5.1-0.10', classifier: 'android-arm'

那么是什么原因呢?为什么 javacpp.Loader.load 找不到 javacpp.opencv_core class 定义?我需要包括其他东西吗?我还尝试在 Android Studio 的项目结构中指定文件依赖项的各种组合,但这没有帮助。

对于可能遇到此问题的其他人,我没有包括 arm 版本的 opencv 和 ffmpeg 罐子。