NDK Build 用法(NDK Build)
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)相关推荐
- Android NDK 获取手机部分信息 build.prop
以下是 Android 手机 build.prop 信息,可同时在java 和 NDK获取到 下面是通过 adb shell cat /system/build.prop 获取到的信息 # begi ...
- 【Android NDK 开发】NDK 交叉编译 ( Ubuntu 中交叉编译动态库 | Android Studio 中配置使用第三方动态库 )
文章目录 I . 动态库 与 静态库 II . 编译动态库 III. Android Studio 使用第三方动态库 IV . Android Studio 关键代码 V . 博客资源 I . 动态库 ...
- 【Android NDK 开发】在 C 代码中获取 Android 系统信息 ( NDK 项目创建 | NDK 配置 | 获取 Android 系统版本号 )
文章目录 I . 创建 NDK 项目 II . NDK 项目 相关配置 III . NDK 中获取 Android 版本号 IV . 使用 __system_property_get 可获取的参数 I ...
- android ndk 编译选项,Android NDK 对于c++的支持(mk文件内编译选项)
2019独角兽企业重金招聘Python工程师标准>>> 一 Android ndk 支持c ++标准库文档,阉割很多c++ stl特性 C++ support with th ...
- NDK(一):NDK 的集成
文章目录 一.JNI 简介 二.NDK是什么 三.NDK配置 四.NDK 工程目录 4.1 目录结构 4.2 build.gradle 4.3 CMakeLists文件 五.工程实践 一.JNI 简介 ...
- 【Android NDK 开发】NDK C/C++ 代码崩溃调试 - Tombstone 报错信息日志文件分析 ( 使用 addr2line 命令行工具查找动态库中的报错代码位置 )
文章目录 一.从 Tombstone 报错日志中查找报错动态库 二.addr2line 命令行工具使用 64 位动态库使用的 aarch64-linux-android-addr2line.exe 工 ...
- android ndk 文件管理,Android NDK 入门与实践
NDK 是什么 NDK 全称 Native Development Kit,可以让您在 Android 应用中调用 C 或 C++ 代码的工具. NDK 好处 1.NDK 可以生成 .so 文件, 方 ...
- SAP UI5 webIDE good build and bad build
good build 2:17:06 PM (Build) Build started. 2:17:10 PM (DIBuild) Build of "/zjerry_test" ...
- if (Build.VERSION.SDK_INT = Build.VERSION_CODES.KITKAT)设置后的效果
android app开发时,查看之前的会有这样的设置. //如果sdk版本大于4.4则设置状态栏透明化 会导致首页状态栏减少/* if (Build.VERSION.SDK_INT >= Bu ...
- android 读build.prop,Android build.prop简介
build.prop位于手机的/system/build.prop中 build.prop记录一些系统设置,是一个属性文件,相当于Windows系统的注册表. build.prop生成: Make系统 ...
最新文章
- 电信机房服务器维修,数据中心机房,你不可不知的6大服务保障
- 在小程序中将多个view居中显示
- 蓝桥杯第六届国赛JAVA真题----密文搜索
- 模块设计之“模块”与“模块化”
- 【Silverlight】Bing Maps学习系列(九):自定义功能导航条(Custom NavigationBar)
- 蓝桥杯2020年第十一届C/C++省赛B组第二题-既约分数
- 【架构解密】第六章 深入解析分布式存储
- 从普通物理到弦论教材推荐
- 如何下载矢量电子地图
- Java实现json对比(递归)
- 图片格式转换 png,jpg,gif等格式 的python小程序
- Android使用WebView播放flash的方法和JavaScript调用本地方法
- 从零开始之驱动发开、linux驱动(十六、poll机制)
- CentOS 7.4 安装 网易云音乐
- 软件构造Lab2总结
- Dameware在Winxp下权限配置
- 单键控制单片机电源开关电路
- AMD和Intel最新产品性价比预测对比
- WIN7系统安装VisualSVN Server
- 【下篇】Python实现最短路问题常见求解算法——Label Correcting Algorithm(deque)
热门文章
- 什么是电力物联网?为什么要建造电力物联网云平台?——安科瑞 严新亚
- CSS(二)文字样式
- Unity--分场景
- Android实现图片放大缩小
- python 动态壁纸
- csp试题2:公共钥匙盒
- Anaconda环境下,处理ERROR 1: PROJ: pj_obj_create: Cannot find proj.db问题
- 土壤湿度传感器YL69使用
- 升级了鸿蒙资料还在吗,手机升级更新鸿蒙系统会清空数据吗?华为鸿蒙升级需要备份吗...
- 常见面试算题题中的滑动窗口问题