Android-студия; jni.h не найден
Я пытаюсь создать приложение GStreamer с помощью Android Studio на окнах, используя учебные пособия на своем веб-сайте, но, как уже упоминалось в других вопросах, учебные пособия не актуальны и, похоже, не работают в Android Studio. Я следил за учебником, предложенным Эдуардо Фернандо: на примерах Gstreamer в Android Studio, но он не будет создан, так как я не могу решить проблему с файлом jni.h, который не найден.
> Build command failed.
Error while executing process
C:\Users\spomerleau\AppData\Local\Android\Sdk\ndk-bundle\ndk-build.cmd with
arguments {NDK_PROJECT_PATH=null
APP_BUILD_SCRIPT=C:\Users\spomerleau\Desktop\Android_GSTreamer\Premade_Test_tut5\android-tutorial-5\app\src\main\jni\Android.mk NDK_APPLICATION_MK=C:\Users\spomerleau\Desktop\Android_GSTreamer\Premade_Test_tut5\android-tutorial-5\app\src\main\jni\Application.mk APP_ABI=arm64-v8a NDK_ALL_ABIS=arm64-v8a NDK_DEBUG=1 APP_PLATFORM=android-21 NDK_OUT=C:/Users/spomerleau/Desktop/Android_GSTreamer/Premade_Test_tut5/android-tutorial-5/app/build/intermediates/ndkBuild/debug/obj NDK_LIBS_OUT=C:\Users\spomerleau\Desktop\Android_GSTreamer\Premade_Test_tut5\android-tutorial-5\app\build\intermediates\ndkBuild\debug\lib C:/Users/spomerleau/Desktop/Android_GSTreamer/Premade_Test_tut5/android-tutorial-5/app/build/intermediates/ndkBuild/debug/obj/local/arm64-v8a/libtutorial-5.so}
GStreamer : [GEN] => gst-build-arm64-v8a/gstreamer_android.c
GStreamer : [COMPILE] => gst-build-arm64-v8a/gstreamer_android.c
gst-build-arm64-v8a/gstreamer_android.c:1:10: fatal error: 'jni.h' file not found
#include <jni.h>
^~~~~~~
1 error generated.
make: *** [gst-build-arm64-v8a/gstreamer_android.o] Error 1
Я выполнил команду javah, но сгенерированный.h также не может найти #include.
Я попробовал команду ndk-build, но он перестанет говорить, что файл jni.h отсутствует.
Любые советы о том, как я могу связать файл jni.h с проектом?
Ответы
Ответ 1
Это потенциально проблема с изменениями r16 в Android NDK, которые фиксируются вверх по потоку следующим фиксацией
Проблема в том, что NDK переместил файлы заголовков в единую структуру и, таким образом, сломал любого пользователя, ожидающего заголовки в старых местах.
Ответ 2
Это связано с обновлением/установкой Android Studio на NDK_r16, который не поддерживает поддержку GCC. Попробуйте вернуться к NDK_r15c.
Загрузите r15c из https://developer.android.com/ndk/downloads/older_releases.html, затем укажите приложение NDK Location в извлеченную папку.
Ответ 3
jni.h - это заголовочный файл, который уже присутствует в пакете android ndk. Если он отсутствует, вы можете переустановить пакет или вы можете искать в Интернете исходный файл, который вы можете получить очень легко, и поместите этот файл в место, где ваш компилятор ожидает, что он будет