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

标签 java c++ android-studio android-ndk java-native-interface

我正在尝试使用他们网站上的教程在 Windows 上使用 Android Studio 构建 GStreamer 应用,但是,正如其他问题中已经提到的,这些教程不是最新的,似乎也不适用于 Android Studio。我遵循了 Eduardo Fernando 提出的教程: Gstreamer examples in 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 文件链接到项目的任何建议?

最佳答案

这可能是 Android NDK 中 r16 更改的问题,这些更改已由以下 commit 上游修复

问题在于 NDK 将头文件移动到了 unified structure 中。从而破坏了任何期望在旧位置出现标题的用户。

关于java - 安卓工作室;未找到 jni.h,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/47559161/

相关文章:

java - 在 Android 代码中模拟创建 AsyncTasks 和 Intents 的优雅方法

java - 使按钮不可点击,直到 TitleAreaDialog 中满足某些条件?

java - 谷歌云java api客户端http连接池

java RMI - 服务器自动调用远程方法

c++ - 当试图通过使用带有虚拟参数的模板别名来隐藏基类来混淆它们时,clang 和 gcc 之间的行为差​​异

c++ - 创建 CMake 选项组

c++ - 为什么在许多 C++ 标准库代码中将不等式测试为 (!(a==b))?

java - 无法使用导入的库。安卓工作室。谷歌云端点 jar

php - Volley POST 字符串请求意外错误 500

android - 构建 apk 扩展类型显示 Mobogenie APK?我不知道为什么