我需要在 Android Studio 3.1.2 中使用 OpenCV。我有这个 IDE 和 NDK (17.0.4754217) 的最后一个版本是 05/20/2018。
我读了this post谈论它,并说了一些关于 NDK 版本 16 的问题,但事实并非如此。
大多数指南都是针对旧版本的 Android(我看到指南谈论用于 Android 开发的 Eclipse IDE)但是没有最新版本或最接近的版本,这是一个问题,因为最新版本的 AS 导致许多旧项目或制作方式的错误,因此它们使这些指南过时了。
可能是由于我不知道如何使用 NDK 和 CMake 这一事实引起的问题,所以如果有人知道如何或曾尝试这样做,我将不胜感激,会告诉我如何将 OpenCV 添加到 Android 3.1.2,也许这篇文章可以帮助其他用户使用 NDK 和 AS 的 future 版本。
这么多。
最佳答案
1.确保您的 Android SDK 是最新的,并且安装了 NDK
2.从 OpenCV.org 下载适用于 Android 的最新 OpenCV SDK 并解压缩 zip 文件。
3.新建一个Android Studio项目
4.导入OpenCV库模块
5. 设置 OpenCV 库模块以适合您的 SDK
编辑 openCVLibrary/build.gradle 以匹配您的 app/build.gradle 例如:
compileSdkVersion 27
defaultConfig {
minSdkVersion 19
targetSdkVersion 27
}
6. 在您的应用模块中添加 OpenCV 模块依赖
文件 -> 项目结构 -> 模块应用程序 -> 依赖项选项卡 -> 新建模块依赖项 -> 选择 OpenCV 库模块
7. 通过右键单击 app/src/main 创建一个 jni 文件夹,然后单击 Change Folder Location 将文件夹从 jni 重命名为 jniLibs
之后的框8. 从您下载的 opencv 目录 YOUR_OPENCV_SDK/sdk/native/libs 复制所有文件并将它们粘贴到 >jniLibs 文件夹
9. 设置app build.gradle
添加 abiFilters
externalNativeBuild { cmake { cppFlags "-frtti -fexceptions" abiFilters 'x86', 'x86_64', 'armeabi-v7a', 'arm64-v8a' } }
10.配置CMakeLists.txt文件
复制这三行并粘贴到cmake_minimum_required
之后include_directories(YOUR_OPENCV_SDK/sdk/native/jni/include) add_library( lib_opencv SHARED IMPORTED ) set_target_properties(lib_opencv PROPERTIES IMPORTED_LOCATION ${CMAKE_CURRENT_SOURCE_DIR}/src/main/jniLibs/${ANDROID_ABI}/libopencv_java3.so)
关于android - 如何将 OpenCV 库添加到 AS3.1.2 和 NDK 17.0,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/50433813/