ndk-build 脚本
1.内部原理
运行 ndk-build 脚本相当于运行以下命令:
$GNUMAKE 指向 GNU Make 3.81 或更高版本,<ndk> 则指向 NDK 安装目录。
2.从命令行调用
ndk-build 脚本位于 NDK 安装目录顶层。如需从命令行运行该脚本,请在应用项目目录或其子目录中进行调用。例如:
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 来构建代码,同时生成数据库。
版权声明: 本文为 InfoQ 作者【Changing Lin】的原创文章。
原文链接:【http://xie.infoq.cn/article/82b2b262b866a9425df5add9f】。文章转载请联系作者。
评论