Я пытаюсь заставить звонки OpenCV C ++ работать в Android Studio с помощью jni & Студия Android NDK. Вот ссылки, из которых я работал:
https://github.com/opencv/opencv/tree/master/samples/android/tutorial-2-mixedprocessing
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. Это самое близкое, что я получил до сих пор:
В настоящее время я получаю сообщение об ошибке:
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, по существу, следуя этому посту:
Но независимо от того, что я сделал, я не смог заставить работать вызовы 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. После этого я получаю много ошибок, однако, если я буду следовать инструкциям
опять же, это возвращает меня к тому же
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 и на телефоне выдает ошибку «к сожалению приложение остановлено»
Есть еще предложения?
Задача ещё не решена.
Других решений пока нет …