如何为Android Studio打包和链接OpenCV binares和OpenCV Java SDK?

尝试在Android Studio上开始使用OpenCV Java SDK创建一个针对14 – 19的应用程序。

我在这里遵循@Paito定义的步骤: https ://stackoverflow.com/a/20600674/1291489

1)我在.jar中打包libs

在此处输入图像描述

2)添加依赖项:…依赖项{

//OpenCV compile files('libs/opencv-2.4.8.jar') compile project(':app:libs:opencv') } 

3)复制OpenCV java文件夹

在此处输入图像描述

4)为OpenCV创建并修复build.gradle(与引用的源相同)

5)尝试使用该库

 import org.opencv.android.OpenCVLoader; ... if (!OpenCVLoader.initDebug()) {} 

结果:App构建并运行但我得到以下exception:

 03-19 19:54:46.144 D/OpenCV/StaticHelper﹕ Trying to get library list 03-19 19:54:46.144 E/OpenCV/StaticHelper﹕ OpenCV error: Cannot load info library for OpenCV 03-19 19:54:46.144 D/OpenCV/StaticHelper﹕ Library list: "" 03-19 19:54:46.144 D/OpenCV/StaticHelper﹕ First attempt to load libs 03-19 19:54:46.144 D/OpenCV/StaticHelper﹕ Trying to init OpenCV libs 03-19 19:54:46.144 D/OpenCV/StaticHelper﹕ Trying to load library opencv_java 03-19 19:54:46.144 D/OpenCV/StaticHelper﹕ Cannot load library "opencv_java" 03-19 19:54:46.154 W/System.err java.lang.UnsatisfiedLinkError: Couldn't load opencv_java: findLibrary returned null 

无法看到这里有什么问题。 我尝试了每种可能的方法来打包.jar文件,并通过调整重复这些步骤至少10次。

我也试过结构:

 -opencv.jar -libs -armeabi-v7a -(.so files) 

我正在测试三星GS3Mini和Genymotion 4.1.1,并在两者上获得相同的结果。 两者都在运行OpenCV Manager和样本。

如果你的gradle插件是0.7.2+,你应该在/main/jniLibs文件夹中添加* .so文件,并将opencv java添加为库,按照我在这里介绍的步骤进行操作。

如何在android studio中使用gradle构建工具使用opencv?

如此接近,试试这个结构:

-opencv.jar -lib -armeabi-v7a -(.so files)

Android Studio:

在此处输入图像描述

更新:看起来@TGMCians使用新的Gradle为您提供了更好的解决方案。