我正在研究 OpenCV,因此我正在使用 NDK。但是在进行项目或构建时,出现错误:
Error:Execution failed for task ':app:ndkBuild'.
> Process 'command 'C:/Users/Admin/AppData/Local/Android/Sdk/ndk-bundle/ndk-build.cmd'' finished with non-zero exit value 2
我不明白为什么会这样。下面是我的build.gradle代码:
sourceSets.main {
jni.srcDirs = [] // Disable automatic ndk-build call
}
task ndkBuild(type: Exec, description: 'Compile JNI source via NDK') {
commandLine "C:/Users/Admin/AppData/Local/Android/Sdk/ndk-bundle/ndk-build.cmd",
'NDK_PROJECT_PATH=build/intermediates/ndk',
'NDK_LIBS_OUT=src/main/jniLibs',
'APP_BUILD_SCRIPT=src/main/jni/Android.mk',
'NDK_APPLICATION_MK=src/main/jni/Application.mk'
}
tasks.withType(JavaCompile) {
compileTask -> compileTask.dependsOn ndkBuild
}
为什么我会收到这个错误?
我通过将文件Android.mk中的OPENCVROOT变量更改为
解决了这个问题OPENCVROOT := /pathToYourOpenCVFile/sdk/native/jni
这意味着您不应该按照 OpenCV 教程中的说明写入您的顶级目录。
我正在使用 Ubuntu 14.04 (Trusty Tahr) 和 Android Studio 2.3.2.