ndk.dir Android Studio 中的错误

ndk.dir error in Android Studio

我试图使用 opencv 库,所以我在 Android Studio 中导入了它的一个项目,当我尝试 运行 它时,我得到了这个错误:

Error:Execution failed for task ':openCVSamplefacedetection: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)

所以我下载了 ndk,并将这一行添加到 local.properties 文件中,它变成了:

sdk.dir=C\:\Users\skoon\AppData\Local\Android\sdk
ndk.dir=C\:\Users\skoon\AppData\Roaming\IDM\android-ndk-r10d

但我仍然遇到这个我不明白的错误:

Error:Execution failed for task ':openCVSamplefacedetection:compileDebugNdk'. com.android.ide.common.internal.LoggedErrorException: Failed to run command: C:\Users\skoon\AppData\Roaming\IDM\android-ndk-r10d\ndk-build.cmd NDK_PROJECT_PATH=null APP_BUILD_SCRIPT=C:\Users\skoon\Downloads\Compressed\OpenCV-2.4.10-android-sdk\OpenCV-2.4.10-android-sdk\samples\face-detection\openCVSamplefacedetection\build\intermediates\ndk\debug\Android.mk APP_PLATFORM=android-14 NDK_OUT=C:\Users\skoon\Downloads\Compressed\OpenCV-2.4.10-android-sdk\OpenCV-2.4.10-android-sdk\samples\face-detection\openCVSamplefacedetection\build\intermediates\ndk\debug\obj NDK_LIBS_OUT=C:\Users\skoon\Downloads\Compressed\OpenCV-2.4.10-android-sdk\OpenCV-2.4.10-android-sdk\samples\face-detection\openCVSamplefacedetection\build\intermediates\ndk\debug\lib APP_ABI=all Error Code: 2 Output: make.exe: *** No rule to make target 'C:\Users\skoon\Downloads\Compressed\OpenCV-2.4.10-android-sdk\OpenCV-2.4.10-android-sdk\samples\face-detection\openCVSamplefacedetection\build\intermediates\ndk\debug\obj/local/arm64-v8a/objs/detection_based_tracker/C_\Users\skoon\Downloads\Compressed\OpenCV-2.4.10-android-sdk\OpenCV-2.4.10-android-sdk\samples\face-detection\openCVSamplefacedetection\src\main\jni', needed by `C:\Users\skoon\Downloads\Compressed\OpenCV-2.4.10-android-sdk\OpenCV-2.4.10-android-sdk\samples\face-detection\openCVSamplefacedetection\build\intermediates\ndk\debug\obj/local/arm64-v8a/objs/detection_based_tracker/C_\Users\skoon\Downloads\Compressed\OpenCV-2.4.10-android-sdk\OpenCV-2.4.10-android-sdk\samples\face-detection\openCVSamplefacedetection\src\main\jni\DetectionBasedTracker_jni.o'. Stop.

我没有更改代码中的任何内容,那我该怎么办?我需要更改或添加任何变量以指向 ndk 吗?

P.S。这是我第一次尝试构建 Android 应用程序,所以我没有任何经验。

提前致谢。

更新:

为了导入项目,我刚刚使用了从文件导入项目,然后我同步了 gardle 和 运行 项目。 我从 opencv 下载的包是 Android 包,我尝试使用人脸检测示例。 当我 运行 它时,我得到了上面的错误。

OpenCV 示例项目尚未正式支持gradle。我认为如果您开始一个新项目并将其配置为像示例中那样工作会更容易。 我已经使用 Android Studio + NDK + OpenCV 实现了一个教程项目。你可以看看。 https://github.com/quanhua92/NDK_OpenCV_AndroidStudio

您需要为您的项目设置 OpenCV 库。您可以按照说明here.

在您的 SDK 管理器中安装 NDK,如果您已经安装了打开应用程序的 "build.gradle" 替换这些行

sourceSets { main { jni.srcDirs = ['src/main/jni', 'src/main/jniLibs/', 'src/main/jni/'] } }

sourceSets.main { jniLibs.srcDir 'src/main/jniLibs' // mention your JNI lib path(where ".so" files contains) jni.srcDirs = [] //disable automatic ndk-build call }

我尝试配置 OpenCV 及其修复