写点什么

ndk-build 脚本

用户头像
Changing Lin
关注
发布于: 1 小时前
ndk-build 脚本

1.内部原理

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

$GNUMAKE -f <ndk>/build/core/build-local.mk<parameters>
复制代码

$GNUMAKE 指向 GNU Make 3.81 或更高版本,<ndk> 则指向 NDK 安装目录。

2.从命令行调用

ndk-build 脚本位于 NDK 安装目录顶层。如需从命令行运行该脚本,请在应用项目目录或其子目录中进行调用。例如:

$ cd <project>$ <ndk>/ndk-build
复制代码

2.1 选项

ndk-build 的所有参数都将直接传递到运行 NDK 构建脚本的底层 GNU make 命令;ndk-build <option>

  • clean:移除之前生成的所有二进制文件。

  • V=1:启动构建,并显示构建命令

  • -B:强制执行完整的重新构建。

  • -B V=1:强制执行完整的重新构建,并显示构建命令。

  • NDK_LOG=1:显示内部 NDK 日志消息(用于调试 NDK 本身)。

  • NDK_DEBUG=1:强制执行可调试 build

  • NDK_DEBUG=0:强制执行发布 build

  • NDK_HOST_32BIT=1:始终使用 32 位模式下的工具链

  • NDK_APPLICATION_MK=<file>:使用 NDK_APPLICATION_MK 变量指向的特定 Application.mk 文件进行构建。

  • -C <project>:构建位于 <project> 的项目路径的原生代码

2.2 可调试 build 与发布 build

使用 NDK_DEBUG 选项(在特定情况下结合 AndroidManifest.xml)指定调试 build 或发布 build、与优化相关的行为以及是否包含符号。

3.要求

一般来说,您需要使用 GNU Make 4 才能使用 ndk-build 或 NDK。NDK 包含其自己的 GNU Make 副本,除非您将 $GNUMAKE 环境变量设置为指向不适当的 Make,否则 NDK 将使用该副本。

4.JSON 编译数据库

在 NDK r18 及更高版本中,ndk-build 可以生成 JSON 编译数据库。

您可以使用 ndk-build compile_commands.json 生成数据库而不构建代码,也可以使用 ndk-build GEN_COMPILE_COMMANDS_DB=true 来构建代码,同时生成数据库。


发布于: 1 小时前阅读数: 2
用户头像

Changing Lin

关注

获得机遇的手段远超于固有常规之上~ 2020.04.29 加入

我能做的,就是调整好自己的精神状态,以最佳的面貌去面对那些未曾经历过得事情,对生活充满热情和希望。

评论

发布
暂无评论
ndk-build 脚本