2015-03-04 3 views
1

Я пытался использовать библиотеку OpenCV, так что я импортировал один из своих проектов в Android Studio и когда я попытался запустить его, я получил эту ошибку:ndk.dir ошибка в 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)

Так я скачал НДК и я addes эту строку в файл 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, поэтому у меня нет опыта.

Заранее спасибо.

UPDATE:

Для импорта проекта я использовал только импорт проекта из файла, а затем я синхронизировал с gardle, и запустить проект. пакет, который я загрузил из opencv, был Android, и я попытался использовать образец обнаружения лица. Когда я запустил его, я получил ошибку выше.

+0

Какие шаги вы предприняли для импорта «одного из своих проектов» в Android Studio? В каком учебнике вы следовали? Какова конфигурация проекта? Пожалуйста, обновите свой вопрос этими данными. –

+0

Я добавил детали, спасибо. – user3504563

ответ

1

Вам необходимо настроить OpenCV librairies для вашего проекта. Вы можете выполнить инструкцию here.

+0

Большое вам спасибо за выполнение всех инструкций и ошибок не возникло. – user3504563

0

Проекты образцов OpenCV официально не поддерживают градлу. Я думаю, будет проще, если вы начнете новый проект и настроите его на работу, как в примерах. Я реализовал учебный проект с использованием Android Studio + NDK + OpenCV. Вы можете взглянуть. https://github.com/quanhua92/NDK_OpenCV_AndroidStudio

0

Установка NDK в менеджере SDK, если вы уже установили открытого приложения "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 и его исправлено