opencv-4.10.0-android-sdk 在Android studio 配置问题

1.openCV sdk 使用的是 build.gradle Groovy 来配置,其实和 build.gradle.kts Kotlin DSL 是可以两者共存的,只需要同时保留settings.gradlesettings.gradle.kts。当然你如果像我一样有强迫症,后面有 我转换好的 Kotlin DSL。

2.官方的 opencv-4.10.0-android-sdk .so 文件太占地方,附带 opencv-mobile-4.10.0-android 精简版 在github上下载:opencv-mobile

 一、将项目中 settings.gradle 文件删除,settings.gradle.kts 文件中添加 include(":opencv"),将openCV sdk Module 下 build.gradle 改成  build.gradle.kts
附:build.gradle.kts
plugins {
    id("com.android.library")
}

android {
    namespace = "org.opencv"
    compileSdk = 34

    defaultConfig {
        minSdk = 26

        externalNativeBuild {
            cmake {
                arguments("-DANDROID_STL=c++_shared")
                targets("opencv_jni_shared")
            }
        }
    }

    compileOptions {
        sourceCompatibility = JavaVersion.VERSION_1_8
        targetCompatibility = JavaVersion.VERSION_1_8
    }

    buildTypes {
        getByName("debug") {
            packaging {
                jniLibs.keepDebugSymbols.add("**/*.so")  // controlled by OpenCV CMake scripts
            }
        }
        getByName("release") {
            packaging {
                jniLibs.keepDebugSymbols.add("**/*.so")  // controlled by OpenCV CMake scripts
            }
            isMinifyEnabled = false
            proguardFiles(getDefaultProguardFile("proguard-android.txt"), "proguard-rules.pro")
        }
    }

    buildFeatures {
        buildConfig = true
    }

    sourceSets {
        getByName("main") {
            jniLibs.srcDirs("native/libs")
            java.srcDirs("java/src")
            res.srcDirs("java/res")
            manifest.srcFile("java/AndroidManifest.xml")
        }
    }

    externalNativeBuild {
        cmake {
            path("${project.projectDir}/libcxx_helper/CMakeLists.txt")
            version = "3.31.0"
        }
    }
}

二、opencv-mobile-4.10.0-android 精简版 的 配置文件:

附:CMakeLists.txt
cmake_minimum_required(VERSION 3.22.1)

project("nativelib")

# 指定.cmake文件路径
set(OpenCV_DIR ${CMAKE_SOURCE_DIR}/opencv-mobile-4.10.0-android/sdk/native/jni)

# 查找.cmake文件 找到后将头文件目录设置为${OpenCV_INCLUDE_DIRS},库文件目录设为${OpenCV_LIBS}
find_package(OpenCV REQUIRED core imgproc highgui)

# 包含OpenCV头文件目录
include_directories(${OpenCV_INCLUDE_DIRS})

find_library(Graphics-lib jnigraphics)

add_library(${CMAKE_PROJECT_NAME} SHARED
        nativelib.cpp)

# 链接OpenCV库文件目录
target_link_libraries(${CMAKE_PROJECT_NAME}
        ${OpenCV_LIBS}
        ${Graphics-lib}
        android
        log)

评论
成就一亿技术人!
拼手气红包6.0元
还能输入1000个字符
 
红包 添加红包
表情包 插入表情
 条评论被折叠 查看
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值