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 之前指向它。 例如:
您可以在 $NDK/prebuilt//bin/ 中将其他主机预构建工具替换为下列环境变量:
$ export NDK_HOST_CMP=
- NDK build
- ndk-build
- ndk-build
- ndk-build
- ndk-build
- NDK Build 用法(NDK Build)
- NDK Build 用法(NDK Build)
- NDK Build 用法(NDK Build)
- NDK Build 用法(NDK Build)
- NDK Build 用法(NDK Build)
- NDK Build 用法(NDK Build)
- NDK Build 用法(NDK Build)
- NDK Build 用法(NDK Build)
- NDK Build 用法(NDK Build)
- NDK Build 用法(NDK Build)
- NDK Build 用法(NDK Build)
- NDK(三)ndk-build
- NDK开发(一)--ndk-build
- 解决The function contains must be used with a prefix when a default namespace is
- 关于线性齐次方程组无关解个数和齐次方程组无关解个数的关系的比对
- 泛型的排序问题(Collections.sort及Comparable的应用)
- React.js hello world
- 使用servletfileupload实现表单文件和数据的一起上传
- ndk-build
- linux 多服务器间ssh免密登录
- Gitlab创建第一个项目
- 关于java 通过ftp上传到linux服务器上无法创建目录问题
- 用 sql 把列的内容拼起来
- 常用抽屉
- Android中EditText的inputType属性
- Android adb shell启动应用程序的方法
- AngularJs查询,添加,修改