Android Studio, OpenCV, C ++, JNI, NDK — невозможно настроить?

Я пытаюсь заставить звонки OpenCV C ++ работать в Android Studio с помощью jni & Студия Android NDK. Вот ссылки, из которых я работал:

https://github.com/opencv/opencv/tree/master/samples/android/tutorial-2-mixedprocessing

https://codelabs.developers.google.com/codelabs/android-studio-jni/index.html?index=..%2F..%2Findex#0

http://hujiaweibujidao.github.io/blog/2014/10/22/android-ndk-and-opencv-development-with-android-studio/

https://blog.nishtahir.com/2015/11/11/setting-up-for-android-ndk-development/

http://kn-gloryo.github.io/Build_NDK_AndroidStudio_detail/

https://www.youtube.com/watch?v=G0vL7-_xuDM

https://www.youtube.com/watch?v=RmPuwdxR1qs

Android NDK: как разрешить gcc использовать дополнительные каталоги include

По большей части я пытался заставить второй пример OpenCV (первая из ссылок выше) работать в Android Studio. Это самое близкое, что я получил до сих пор:

https://github.com/MicrocontrollersAndMore/OpenCVTestNative/tree/22895c5304c5fb7f0bd62c0f5eef494d3f0280f9

В настоящее время я получаю сообщение об ошибке:

C:\Users\Chris.Dahms\Documents\AndroidOpenCVCppProgs\OpenCVTestNative\app\src\main\jni\jni_part.cpp
Error:(2, 28) opencv2/core.hpp: No such file or directory

Я пробовал все по ссылкам выше безрезультатно.

Я должен отметить, что я могу заставить вызовы Java OpenCV работать в Android Studio, по существу, следуя этому посту:

OpenCV в Android Studio

Но независимо от того, что я сделал, я не смог заставить работать вызовы C ++ jni. Я создал вышеупомянутый проект GitHub, начав с мастера проектов, а затем добавив части из второго примера OpenCV для Android:

https://github.com/opencv/opencv/tree/master/samples/android/tutorial-2-mixedprocessing

Другой способ, которым я попробовал это загрузить исходный код OpenCV из:

https://github.com/opencv/opencv

Затем распакуйте и используйте опцию Android Studio «Импортировать проект (Eclipse ADT, Gradle и т. Д.)». После импорта я получаю сообщение

введите описание изображения здесь

Я прочитал об экспериментальном плагине, и это, кажется, не рекомендуемый путь, поэтому я выбираю

Set "android.useDeprecatedNdk=true" in gradle.properties to continue using the current NDK integration

Вариант, который ставит строку:

android.useDeprecatedNdk=true

В конце gradle.properties. После этого я получаю много ошибок, однако, если я буду следовать инструкциям

OpenCV в Android Studio

опять же, это возвращает меня к тому же

Error:(2, 28) opencv2/core.hpp: No such file or directory

вот как выглядит мой экран:

введите описание изображения здесь

Вот проект, если было бы полезно взглянуть на источник:

https://github.com/MicrocontrollersAndMore/tutorial-2-mixedprocessing

Кто-нибудь на самом деле заставил это работать? Я видел некоторые сообщения, подразумевающие, что это возможно, но я не могу найти какие-либо конкретные инструкции. Кто-нибудь, кто имел некоторый успех с этим, пожалуйста, поделитесь с остальными из нас ??

Редактировать:
Было высказано предположение, что это ответ:

Android Studio с opencv для android ndk, заголовочные файлы opencv не найдены

Хотя это помогло мне преодолеть opencv2 / core.hpp: ошибки такого файла или каталога нет, в Android Studio вызов FindFeatures по-прежнему выглядит красным, как будто файл Java не может видеть файл C ++:

введите описание изображения здесь

А в файле build.gradle приложения несколько строк подчеркивают ошибки:

введите описание изображения здесь

введите описание изображения здесь

Любые дальнейшие предложения?

Дальнейшее редактирование:

Я забыл упомянуть, что я получаю ошибки подчеркивания в build.gradle, а также дополнения за пределами скобки по умолчанию:

введите описание изображения здесь

И когда я запускаю приложение, оно вылетает с ошибкой

couldn't find "libmixed_sample.so"

в LogCat и на телефоне выдает ошибку «к сожалению приложение остановлено»

Есть еще предложения?

2

Решение

Задача ещё не решена.

Другие решения

Других решений пока нет …