欢迎来到尧图网

客户服务 关于我们

您的位置:首页 > 财经 > 金融 > android studio导入OpenCv并改造成.kts版本

android studio导入OpenCv并改造成.kts版本

2025/4/19 20:38:18 来源:https://blog.csdn.net/qq_36333309/article/details/143686810  浏览:    关键词:android studio导入OpenCv并改造成.kts版本

1.下载opencv Android版本

2.解压导入android studio,我这里是先导入低版本的,还是gradle,直接导入module,我这里是4.2.0的版本

我的as版本是Android Studio Electric Eel 2022.1.1 Patch 2,我导入直接就能用

 //load OpenCV engine and init OpenCV library
//这里放在oncreate里面用作初始化if (!OpenCVLoader.initDebug()){OpenCVLoader.initAsync(OpenCVLoader.OPENCV_VERSION_3_2_0,this,mLoaderCallback);}else{mLoaderCallback.onManagerConnected(LoaderCallbackInterface.SUCCESS);}//OpenCV库加载并初始化成功后的回调函数private BaseLoaderCallback mLoaderCallback = new BaseLoaderCallback(this) {@Overridepublic void onManagerConnected(int status) {// TODO Auto-generated method stubswitch (status){case BaseLoaderCallback.SUCCESS:Log.e(TAG, "openCv=================成功加载");break;default:super.onManagerConnected(status);Log.e(TAG, "openCv=================加载失败");break;}}};

3.改造成build.gradle.kts版本使用

        1.把代码从低版本android studio直接复制到高版本的android studio里面,这里我改了个名字,为了比较直观,我直接复制了两份用来做对比

      

2.直接对比改造

原版本 

apply plugin: 'com.android.library'println "OpenCV: " + project.buildscript.sourceFileandroid {compileSdkVersion 32//buildToolsVersion "x.y.z" // not needed since com.android.tools.build:gradle:3.0.0defaultConfig {minSdkVersion 25targetSdkVersion 32externalNativeBuild {cmake {arguments "-DANDROID_STL=c++_shared"targets "opencv_jni_shared"}}}buildTypes {debug {packagingOptions {// doNotStrip '**/*.so'  // controlled by OpenCV CMake scripts}}release {packagingOptions {// doNotStrip '**/*.so'  // controlled by OpenCV CMake scripts}minifyEnabled falseproguardFiles getDefaultProguardFile('proguard-android.txt'), 'proguard-rules.txt'}}compileOptions {sourceCompatibility JavaVersion.VERSION_1_8targetCompatibility JavaVersion.VERSION_1_8}sourceSets {main {jniLibs.srcDirs = ['native/libs']java.srcDirs = ['java/src']aidl.srcDirs = ['java/src']res.srcDirs = ['java/res']manifest.srcFile 'java/AndroidManifest.xml'}}externalNativeBuild {cmake {path (project.projectDir.toString() + '/libcxx_helper/CMakeLists.txt')}}}dependencies {
}

 改造以后的版本

plugins {id("com.android.library")
}println("OpenCV: " + project.buildscript.sourceFile)android {compileSdk = 32defaultConfig {namespace = "org.opencv"minSdk = 25testInstrumentationRunner = "androidx.test.runner.AndroidJUnitRunner"consumerProguardFiles("consumer-rules.pro")externalNativeBuild {cmake {arguments.add("-DANDROID_STL=c++_shared")targets.add("opencv_jni_shared")}}}compileOptions {sourceCompatibility = JavaVersion.VERSION_1_8targetCompatibility = JavaVersion.VERSION_1_8}sourceSets {getByName("main") {jniLibs.srcDirs("native/libs")java.srcDirs("java/src")aidl.srcDirs("java/src")res.srcDirs("java/res")manifest.srcFile("java/AndroidManifest.xml")}}externalNativeBuild {cmake {path = file("${project.projectDir}/libcxx_helper/CMakeLists.txt")}}buildFeatures{aidl =  true}}dependencies {}

 因为新kts的一些特性,我们新增了

(1).namespace = "org.opencv"
(2).buildFeatures{aidl =  true
}

3.然后就可以直接使用了

版权声明:

本网仅为发布的内容提供存储空间,不对发表、转载的内容提供任何形式的保证。凡本网注明“来源:XXX网络”的作品,均转载自其它媒体,著作权归作者所有,商业转载请联系作者获得授权,非商业转载请注明出处。

我们尊重并感谢每一位作者,均已注明文章来源和作者。如因作品内容、版权或其它问题,请及时与我们联系,联系邮箱:809451989@qq.com,投稿邮箱:809451989@qq.com

热搜词