You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

Android Studio中OpenCV NDK构建警告:NDK未配置及解决方案咨询

解决Android Studio NDK+OpenCV运行时的原生代码配置警告

这个警告本质是Android Studio的原生代码扫描逻辑和你自定义的NDK配置冲突导致的——现在AS默认会自动扫描jni目录作为原生代码源,但如果你已经用CMake/ndk-build来管理原生代码(比如集成OpenCV的C++代码),这个默认扫描就会抛出"NDK选项未配置"的提示,而且它会忽略你的Android.mk文件。

按照以下步骤就能彻底解决:

1. 禁用默认jni目录扫描

在你的app/build.gradle文件的android代码块中添加sourceSets配置,告诉AS不要自动处理默认的jni目录:

android {
    // 保留你原本的compileSdk、defaultConfig等配置...
    
    sourceSets {
        main {
            jni.srcDirs = [] // 移除默认的jni源码目录扫描
        }
    }
}

2. 配置你的原生构建工具

根据你使用的构建方式(CMake或ndk-build),在android块中添加对应的externalNativeBuild配置:

如果你用CMake(官方推荐)

指定你的CMakeLists.txt路径,同时可以指定匹配本地安装的CMake版本:

android {
    // 其他配置...
    
    externalNativeBuild {
        cmake {
            path "CMakeLists.txt" // 比如你的CMake文件在app根目录下就写这个路径
            version "3.22.1" // 替换成你本地Android SDK里安装的CMake版本
        }
    }
}

记得在CMakeLists.txt中正确引入OpenCV的头文件和库,示例配置:

# 引入OpenCV依赖
find_package(OpenCV REQUIRED)
include_directories(${OpenCV_INCLUDE_DIRS})
# 把OpenCV库链接到你的原生模块
target_link_libraries(你的原生库名称 ${OpenCV_LIBS})

如果你用ndk-build

指定你的Android.mk路径,如果有Application.mk也可以一并配置:

android {
    // 其他配置...
    
    externalNativeBuild {
        ndkBuild {
            path "Android.mk" // 你的Android.mk文件路径
            // 可选:如果有自定义Application.mk,添加下面这行
            // path "Application.mk"
        }
    }
}

确保你的Android.mk中已经正确配置了OpenCV的依赖路径和编译规则。

3. 验证修复

点击AS工具栏的"Sync Project with Gradle Files"按钮同步配置,然后重新构建并运行项目——那个烦人的警告应该就不会再出现了。

内容的提问来源于stack exchange,提问作者Malik Mohrat

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.05.22 08:56:56