在Android NDK

时间:2018-09-06 04:23:00

标签: android android-ndk

我正在使用Android NDK构建用于Android开发的开源lib C / C ++。我从Github获得了代码,并在源代码下创建了自己的jni文件夹。在该jni文件夹中,我创建了一些C源文件,并在开源lib中包含了许多头文件。但是当我构建时,我的日志失败了:

严重错误:bits / libc-header-start.h:没有这样的文件或目录

我检查并发现文件“ libc-header-start.h”存在于Ubuntu系统的/ usr / include / x86_64-linux-gnu / bits /文件夹中,但是在构建时,它无法链接到该头文件< / p>

那么我可以在我的Android NDK库中使用Ubuntu系统头文件吗?

2 个答案:

答案 0 :(得分:1)

否,您不应使用Ubuntu(或任何其他主机)包含或库来构建Android NDK库。 NDK为Android目标交叉编译您的代码。并非GitHub上的所有C ++项目都可以轻松移植到Android。如果他们使用CMake,则这些脚本通常需要针对Android NDK进行改编。如果他们使用自动制作工具,则调整构建脚本可能会很痛苦。

答案 1 :(得分:1)

  

那么我可以在我的Android NDK库中使用Ubuntu系统头文件吗?

否。您必须将所有Android NDK专用标头和库用于NDK编译,即NDK文件夹中的标头和库。

以下是Android JNI编程的示例:https://github.com/russell-shizhen/JniExample