安卓工作室 ;未找到 jni.h

我正在尝试使用Windows上的教程在Windows上使用Android Studio构建GStreamer应用程序,但是,正如其他问题中已经提到的,这些教程不是最新的,似乎也不适用于Android Studio。我已经按照爱德华多·费尔南多(Eduardo Fernando)在Android Studio中的Gstreamer示例中提出的教程进行了操作,但由于我无法设法解决找不到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

这可能是Android NDK中的r16更改的问题,这些更改通过以下提交在上游修复

问题在于 NDK 将头文件移动到一个统一的结构中,从而破坏了任何期望在旧位置使用头的用户。


答案 2

这是由于Android Studio更新/安装到NDK_r16,这已弃用GCC支持。尝试恢复到NDK_r15c。

https://developer.android.com/ndk/downloads/older_releases.html 下载 r15c,然后将应用程序的 NDK 位置指向提取的文件夹。


推荐