ndk-build

来源:互联网 发布:js截取字符串返回数组 编辑:程序博客网 时间:2024/06/10 02:55

原文链接:https://developer.android.com/ndk/guides/ndk-build.html#req
ndk-build文件是Android NDK r4中引入的一个shell脚本。其用途是调用正确的NDK构建脚本。

内部构建

运行ndk-build脚本相当于运行一下命令:

$GNUMAKE -f <ndk>/build/core/build-local.mk<parameters>

$GNUMAKE 指向 GNU Make 3.81 或更新版本, 指向 NDK 安装目录。 您可以使用此信息从其他 shell 脚本甚至您自己的 Make 文件调用 ndk-build。

从命令行调用

ndk-build 文件位于 NDK 安装目录的顶层。若要从命令行运行该文件,请在应用项目目录中或其子目录中调用它。例如:

cd <project>$ <ndk>/ndk-build

在此示例中, 指向项目的根目录, 是您安装 NDK 的目录。

选项

ndk-build的所有参数将直接传递到运行NDK构建脚本的底层GNUmake。将ndk-build和表单ndkbuild中的选项结合使用。例如:

$ ndk-build clean

提供的选项如下:

clean
移除以前生成的任意二进制文件。
V=1
启动构建,并显示构建命令。
-B
强制执行完全的重新构建。
-B V=1
强制执行完全的重新构建,并显示构建命令。
NDK_LOG=1
显示内部 NDK 日志消息(用于调试 NDK 本身)。
NDK_DEBUG=1
强制执行可调试版构建(请参阅表 1)。
NDK_DEBUG=0
强制执行发布版构建(请参阅表 1)。
NDK_HOST_32BIT=1
始终使用 32 位模式下的工具链(请参阅 64 位和 32 位工具链)。
NDK_APPLICATION_MK=
使用 NDK_APPLICATION_MK 变量指向的特定 Application.mk 文件构建。
-C
构建位于 的项目路径的原生代码。如果您不想在终端通过 cd 切换到该路径,则此选项非常有用。

可调试版与发布版构建

使用NDK_DEBUG选项,在特定情况下,通过AndroidManifest.xml指定调试版或发布版构建、与优化相关的行为以及是否包含符合。表1显示每个可能的设置组合的结果。

64位和32位工具链

某些工具附带 64 位和 32 位版本。例如,目录 /toolchain//prebuilt/ 和 /prebuilt/ 可能同时包含分别用于 32 位和 64 位模式中的 Linux 工具的 linux-x86 和 linux-x86_64 文件夹。 ndk-build 脚本自动选择工具链的 64 位版本(如果主机操作系统支持)。 您可以通过在您的环境中或 ndk-build 命令行中使用 NDK_HOST_32BIT=1 来强制使用 32 位工具链。

请注意,64 位工具可以更好地利用主机资源(例如,它们速度更快,并且可处理更大的程序),同时它们仍可以为 Android 生成 32 位二进制文件。

要求

一把情况下,您需要安装GNU Make 3.81 或更新版本才能使用 ndk-build 或 NDK。构建脚本将检测不兼容的 Make 工具,并生成错误消息。如果您已安装 GNU Make 3.81,但默认 make 命令不能启动它,则在您的环境中定义 GNUMAKE 以便在启动 ndk-build 之前指向它。 例如:

exportGNUMAKE=/usr/local/bin/gmake ndk-build
您可以在 $NDK/prebuilt//bin/ 中将其他主机预构建工具替换为下列环境变量:

exportNDKHOSTAWK= export NDK_HOST_ECHO=
$ export NDK_HOST_CMP=

原创粉丝点击