Álv*_*san 4 android opencv android-ndk android-studio
我需要在 Android Studio 3.1.2 中使用 OpenCV。我拥有此 IDE 和 NDK 的最新版本(2018 年 5 月 20 日)(17.0.4754217)。
我读过这篇文章谈论它,并提到了 NDK 版本 16 的问题,但事实并非如此。
大多数指南都是针对旧版本的 Android(我看到指南谈论用于 Android 开发的 Eclipse IDE),但没有人提供最新版本或最接近的版本,这是一个问题,因为最新版本的 AS 会导致旧版本出现许多错误项目或其制作方式,因此它们使这些指南变得过时。
也许是由于我不知道如何使用 NDK 和 CMake 而引起的问题,所以如果有人知道如何或尝试过这样做,能告诉我如何将 OpenCV 添加到 Android 3.1.2,我将不胜感激,也许这篇文章可以对其他用户使用 NDK 和 AS 的未来版本有所帮助。
太喜欢了。
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
}
Run Code Online (Sandbox Code Playgroud)
6.在应用程序模块中添加 OpenCV 模块依赖项
文件 -> 项目结构 -> 模块应用程序 -> 依赖项选项卡 -> 新建模块依赖项 -> 选择 OpenCV 库模块

7.右键单击 app/src/main创建一个jni文件夹,然后单击“更改文件夹位置”框,然后将文件夹从jni重命名为jniLibs
8.从您下载的opencv 目录YOUR_OPENCV_SDK/sdk/native/libs中复制所有文件并将其粘贴到jniLibs文件夹中
9.设置应用程序build.gradle
添加 abiFilters
externalNativeBuild {
cmake {
cppFlags "-frtti -fexceptions"
abiFilters 'x86', 'x86_64', 'armeabi-v7a', 'arm64-v8a'
}
}
Run Code Online (Sandbox Code Playgroud)
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)
Run Code Online (Sandbox Code Playgroud)
| 归档时间: |
|
| 查看次数: |
1315 次 |
| 最近记录: |