gpt4 book ai didi

android - 让 OpenCV 支持 NDK 在 Android Studio 中工作

转载 作者:太空宇宙 更新时间:2023-11-03 23:16:59 25 4
gpt4 key购买 nike

我是 openCV 和 android 编程的新手,我想在我的项目中使用 openCV。现在我正在尝试在我的 android 工作室中运行 openCV 的第二个教程,但我总是会收到以下 NDK 错误:

Error:Execution failed for task ':openCVTutorial2MixedProcessing:compileDebugNdk'.

NDK not configured. Download the NDK from http://developer.android.com/tools/sdk/ndk/.Then add ndk.dir=path/to/ndk in local.properties. (On Windows, make sure you escape backslashes, e.g. C:\ndk rather than C:\ndk)

然后我查看了互联网,有些人建议我应该将这些添加到我的 gradle.build 文件中:

    jniLibs.srcDirs = ['native-libs']
jni.srcDirs = [] //disable automatic ndk-build

添加这些后它可以工作,但我收到以下错误:

java.lang.UnsatisfiedLinkError: dalvik.system.PathClassLoader[DexPathList[[zip file "/data/app/org.opencv.samples.tutorial2-2/base.apk"],nativeLibraryDirectories=[/data/app/org.opencv.samples.tutorial2-2/lib/arm64, /vendor/lib64, /system/lib64]]] couldn't find "libopencv_java3.so"

这是我的 gradle 文件:

    apply plugin: 'com.android.application'

android {
compileSdkVersion 23
buildToolsVersion "23.0.1"

defaultConfig {
applicationId "org.opencv.samples.tutorial2"
minSdkVersion 21
targetSdkVersion 23

ndk {
moduleName "mixed_sample"
}
}

buildTypes {
release {
minifyEnabled false
proguardFiles getDefaultProguardFile('proguard-android.txt'), 'proguard-rules.txt'
}
}
sourceSets{main {jni.srcDirs = ['src/main/jni','src/main/jniLibs']
jniLibs.srcDirs = ['native-libs']
jni.srcDirs = [] //disable automatic ndk-build
}}
}

dependencies {
compile project(':openCVLibrary310')
}

最佳答案

好吧,您粘贴的代码与评论所说的完全相同:

jni.srcDirs = [] //disable automatic ndk-build

您看不到第一个错误是因为跳过了整个 compileDebugNdk 步骤。这意味着您的应用程序的 NDK 端未构建,这意味着 APK 中没有任何 OpenCV 库,这意味着 Java 无法加载它们,因此 找不到“libopencv_java3.so”

您需要编写一些逻辑来构建项目的 C++ 端。目前有几种方法可以做到这一点,其中最简单的方法是引用 NDK samples which document how to build and use native code with only a build.gradle. build.gradle file from hello-libs是开始具有第 3 方依赖项的项目的好地方。

关于android - 让 OpenCV 支持 NDK 在 Android Studio 中工作,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/37499060/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com