目录
一、下载OpenCV-android-sdk
二、新建项目
三、导入OpenCV包
四、配置OpenCV的JNI接口,拷贝OpenCV所需的头文件和库文件
五、修改Cmake文件
六、配置app的build.gradle文件
七、测试
一、下载OpenCV-android-sdk
OpenCV官网地址:https://opencv.org/
点击Library-->Releases,下载Android版本,解压得到 OpenCV-android-sdk文件夹。
二、新建项目
打开Android studio, File-->New-->New Project,选择最后一项Native C++
进入配置页面,命名为test,点击Next
C++标准根据自身需求设置,这里我选择默认工具链,点击Finish
项目建成后,在真机/模拟器上运行,试一下效果
三、导入OpenCV包
点击File-->New-->Import module,选择刚刚解压的OpenCV-android-sdk文件夹,找到sdk,
修改Module name为opencv,点击Finish
点击完Finish之后,会报错,需要把红框中的代码注释掉,蓝框中的Sdk版本型号与app下的build.gradle(绿框)的Sdk版本型号一致。
点击File-->Project Structure-->Dependencies-->app-->Module Dependency
勾选opencv,点击OK
四、配置OpenCV的JNI接口,拷贝OpenCV所需的头文件和库文件
1、把OpenCV-android-sdk下的OpenCV-android-sdk/sdk/native/jni/include文件夹拷贝到你项目
src/main/cpp下面。
2、把OpenCV-android-sdk下的OpenCV-android-sdk/sdk/native/libs文件夹拷贝到你项目src/main/
下面,并修改名字为JniLibs。
五、修改Cmake文件
打开CMakeLists.txt文件,添加如下代码(推荐复制),修改的地方只有最上面和最下面两部分,中间部分为系统生成的内容,没有改动。
# 设置include文件夹的地址
include_directories(${CMAKE_SOURCE_DIR}/include)
add_library(libopencv_java4 SHARED IMPORTED)
set_target_properties(libopencv_java4 PROPERTIES IMPORTED_LOCATION
E:/test/app/src/main/JniLibs/${ANDROID_ABI}/libopencv_java4.so)
把红框里的地址改成你的JniLibs地址(四.2创建的文件夹地址)
在最下面的target_link_libraries添加libopencv_java4
六、配置app的build.gradle文件
1、添加的第一部分
externalNativeBuild {
cmake {
cppFlags ''
arguments "-DANDROID_STL=c++_shared"
}
}
ndk {
abiFilters 'x86', 'x86_64', 'armeabi-v7a',
'arm64-v8a'
}
2、添加的第二部分
注意:jniLibs.srcDirs = [‘libs’] 千万不要写为:jniLibs.srcDirs = [src/main/JniLibs’] 否则程序会报错
sourceSets {
main {
jniLibs.srcDirs = ['libs']
}
}
splits {
abi {
enable true
reset()
include 'x86', 'x86_64', 'armeabi-v7a', 'arm64-v8a' //select ABIs to build APKs for
universalApk true //generate an additional APK that contains all the ABIs
}
}
3、添加的第三部分
project.ext.versionCodes = ['armeabi': 1, 'armeabi-v7a': 2, 'arm64-v8a': 3, 'mips': 5, 'mips64': 6, 'x86': 8, 'x86_64': 9]
android.applicationVariants.all { variant ->
variant.outputs.each { output ->
output.versionCodeOverride =
project.ext.versionCodes.get(output.getFilter(com.android.build.OutputFile.ABI), 0) * 1000000 + android.defaultConfig.versionCode
}
}
七、测试
先构建,点击Make Project(小锤子),然后打开native-lib.cpp文件,先试着引入一下包,输入
#include <opencv2/opencv.hpp> 如果报红,点击下面1和2就不报红了
包含OpenCV的头文件不报红就配置成功了,如下:
文章来源:https://www.toymoban.com/news/detail-686072.html
恭喜你,配置成功了,可以开始在Android平台下用C++来开发opencv代码了。 文章来源地址https://www.toymoban.com/news/detail-686072.html
到了这里,关于Android studio配置OpenCV的JNI接口,实现C++代码编程的文章就介绍完了。如果您还想了解更多内容,请在右上角搜索TOY模板网以前的文章或继续浏览下面的相关文章,希望大家以后多多支持TOY模板网!