NDK Build 用法(NDK Build)
来源:互联网 发布:数据库修改文字怎么写 编辑:程序博客网 时间:2024/05/03 08:30
1、ndk-build的用法
Android NDKr4引入了一个新的、小巧的shell脚本ndk-build,来简化源码编译。
该文件位于NDK根目录,进入你的工程根目录或子目录之后,在命令行下调用即可。例如:
cd $PROJECT
$NDK/ndk-build
NDK指向你的NDK的安装目录,PROJECT指向你的Android工程目录。建议将ndk-build所在目录加入PATH环境变量或设置alias。
2、ndk-build的选项
所有给ndk-build的选项都会直接传给GNU Make,由make运行NDK的编译脚本。几个常见调用方式如下:
ndk-build 编译
ndk-build clean 清掉二进制文件
ndk-build NDK_DEBUG=1 编译为可调试版的二进制文件
ndk-build NDK_DEBUG=0 编译为release版
ndk-build V=1 执行ndk-build且打印出它所执行的详细编译命令。
ndk-build -B 强制重新编译
ndk-build -B V=1 -B 和 V=1 的组合
ndk-build NDK_LOG=1 打印出内部的NDK日志信息(用于调试NDK自己)
ndk-build NDK_APP_APPLICATION_MK=<文件路径> 用这里指定的路径寻找Application.mk文件
ndk-build -C <project路径> 先cd进入<project路径>,然后执行ndk-build。
3、Debug版本 Vs Release版本
在NDKr5中,ndk-build做了一些改进,使得在release和debug之间切换更容易了。即通过 NDK_DEBUG 变量:
ndk-build NDK_DEBUG=1 编译出的共享库带调试信息,是debug版本
ndk-build NDK_DEBUG=0 编译出的共享库不带调试信息,是release版本
如果没有指定NDK_DEBUG,则会从 AndroidManifest.xml中获取(查看 <application> 元素是否有 android:debuggable="true")。
注意:如果你的SDK是SDKr8或更高,完全不需要修改AndroidManifest.xml。因为如果你想编译出debug版安装包(在命令行下执行 ant debug或用ADT),SDK的工具会自动选择用NDK_DEBUG=1编译出的共享库。NDK编译出的debug版和release版的object文件存放在不同的目录(例如 obj/local/<abi>/objs 和 obj/local/<abi>/objs-debug),避免了在release和debug之间切换而重新编译所有文件。
4、ndk-build的使用条件
总体来说,必须安装GNU Make 3.81 以上版本的make才能正常使用ndk-build和NDK。
5、ndk-build的实质
ndk-build 其实就是对GNU Make的封装,它的目的是调用正确的NDK编译脚本,它等价于 make -f $NDK/build/core/build-local.mk [参数]
- 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 build
- memcache的一致性hash算法使用
- SDRAM引入和初始化
- Kotlin 类和对象
- C# backgroundwork的使用方法
- 通过lookup获取app在App Store上的json数据信息
- NDK Build 用法(NDK Build)
- 相机标定(Camera calibration)
- 在Ubuntu下安装、配置Ubuntu nfs
- HI_MPI_RGN_AttachToChn 0xA0128003 错误
- STM32串口通讯
- 在iOS9上调用支付宝不回调的问题解决,以及支付宝嵌入的流程梳理
- SVM核函数
- 43个有关于Touch事件的jQuery插件
- uva11090(二分spfa)