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. Если он отсутствует, вы можете переустановить пакет или вы можете искать в Интернете исходный файл, который вы можете получить очень легко, и поместите этот файл в место, где ваш компилятор ожидает, что он будет