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)相关推荐

  1. Android NDK 获取手机部分信息 build.prop

    以下是 Android 手机  build.prop 信息,可同时在java 和 NDK获取到 下面是通过 adb shell cat /system/build.prop 获取到的信息 # begi ...

  2. 【Android NDK 开发】NDK 交叉编译 ( Ubuntu 中交叉编译动态库 | Android Studio 中配置使用第三方动态库 )

    文章目录 I . 动态库 与 静态库 II . 编译动态库 III. Android Studio 使用第三方动态库 IV . Android Studio 关键代码 V . 博客资源 I . 动态库 ...

  3. 【Android NDK 开发】在 C 代码中获取 Android 系统信息 ( NDK 项目创建 | NDK 配置 | 获取 Android 系统版本号 )

    文章目录 I . 创建 NDK 项目 II . NDK 项目 相关配置 III . NDK 中获取 Android 版本号 IV . 使用 __system_property_get 可获取的参数 I ...

  4. android ndk 编译选项,Android NDK 对于c++的支持(mk文件内编译选项)

    2019独角兽企业重金招聘Python工程师标准>>> 一   Android ndk  支持c ++标准库文档,阉割很多c++  stl特性 C++ support with th ...

  5. NDK(一):NDK 的集成

    文章目录 一.JNI 简介 二.NDK是什么 三.NDK配置 四.NDK 工程目录 4.1 目录结构 4.2 build.gradle 4.3 CMakeLists文件 五.工程实践 一.JNI 简介 ...

  6. 【Android NDK 开发】NDK C/C++ 代码崩溃调试 - Tombstone 报错信息日志文件分析 ( 使用 addr2line 命令行工具查找动态库中的报错代码位置 )

    文章目录 一.从 Tombstone 报错日志中查找报错动态库 二.addr2line 命令行工具使用 64 位动态库使用的 aarch64-linux-android-addr2line.exe 工 ...

  7. android ndk 文件管理,Android NDK 入门与实践

    NDK 是什么 NDK 全称 Native Development Kit,可以让您在 Android 应用中调用 C 或 C++ 代码的工具. NDK 好处 1.NDK 可以生成 .so 文件, 方 ...

  8. 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" ...

  9. if (Build.VERSION.SDK_INT = Build.VERSION_CODES.KITKAT)设置后的效果

    android app开发时,查看之前的会有这样的设置. //如果sdk版本大于4.4则设置状态栏透明化 会导致首页状态栏减少/* if (Build.VERSION.SDK_INT >= Bu ...

  10. android 读build.prop,Android build.prop简介

    build.prop位于手机的/system/build.prop中 build.prop记录一些系统设置,是一个属性文件,相当于Windows系统的注册表. build.prop生成: Make系统 ...

最新文章

  1. 电信机房服务器维修,数据中心机房,你不可不知的6大服务保障
  2. 在小程序中将多个view居中显示
  3. 蓝桥杯第六届国赛JAVA真题----密文搜索
  4. 模块设计之“模块”与“模块化”
  5. 【Silverlight】Bing Maps学习系列(九):自定义功能导航条(Custom NavigationBar)
  6. 蓝桥杯2020年第十一届C/C++省赛B组第二题-既约分数
  7. 【架构解密】第六章 深入解析分布式存储
  8. 从普通物理到弦论教材推荐
  9. 如何下载矢量电子地图
  10. Java实现json对比(递归)
  11. 图片格式转换 png,jpg,gif等格式 的python小程序
  12. Android使用WebView播放flash的方法和JavaScript调用本地方法
  13. 从零开始之驱动发开、linux驱动(十六、poll机制)
  14. CentOS 7.4 安装 网易云音乐
  15. 软件构造Lab2总结
  16. Dameware在Winxp下权限配置
  17. 单键控制单片机电源开关电路
  18. AMD和Intel最新产品性价比预测对比
  19. WIN7系统安装VisualSVN Server
  20. 【下篇】Python实现最短路问题常见求解算法——Label Correcting Algorithm(deque)

热门文章

  1. 什么是电力物联网?为什么要建造电力物联网云平台?——安科瑞 严新亚
  2. CSS(二)文字样式
  3. Unity--分场景
  4. Android实现图片放大缩小
  5. python 动态壁纸
  6. csp试题2:公共钥匙盒
  7. Anaconda环境下,处理ERROR 1: PROJ: pj_obj_create: Cannot find proj.db问题
  8. 土壤湿度传感器YL69使用
  9. 升级了鸿蒙资料还在吗,手机升级更新鸿蒙系统会清空数据吗?华为鸿蒙升级需要备份吗...
  10. 常见面试算题题中的滑动窗口问题