NDK全称:Native Development Kit。
1、NDK是一系列工具的集合。
* NDK提供了一系列的工具,帮助开发人员高速开发C(或C++)的动态库,并能自己主动将so和java应用一起打包成apk。这些工具对开发人员的帮助是巨大的。
* NDK集成了交叉编译器,并提供了对应的mk文件隔离平台、CPU、API等差异,开发者仅仅须要简单改动mk文件(指出“哪些文件须要编译”、“编译特性要求”等),就能够创建出so。
* NDK能够自己主动地将so和Java应用一起打包,极大地减轻了开发者的打包工作。
2、NDK提供了一份稳定、功能有限的API头文件声明。
Google明白声明该API是稳定的,在兴许全部版本号中都稳定支持当前公布的API。从该版本号的NDK中看出,这些API支持的功能很有限,包括有:C标准库(libc)、标准数学库(libm)、压缩库(libz)、Log库(liblog)。
1、NDK是一系列工具的集合。
NDK提供了一系列的工具,帮助开发人员高速开发C(或C++)的动态库,并能自己主动将so和java应用一起打包成apk。这些工具对开发人员的帮助是巨大的。NDK集成了交叉编译器,并提供了对应的mk文件隔离CPU、平台、ABI等差异,开发人员仅仅须要简单改动mk文件(指出“哪些文件须要编译”、“编译特性要求”等),就能够创建出so。NDK能够自己主动地将so和Java应用一起打包,极大地减轻了开发人员的打包工作。
2、NDK提供了一份稳定、功能有限的API头文件声明。
Google明白声明该API是稳定的,在兴许全部版本号中都稳定支持当前公布的API。从该版本号的NDK中看出,这些API支持的功能很有限,包括有:C标准库(libc)、标准数学库(libm)、压缩库(libz)、Log库(liblog)。

在此之前,Android平台的第三方应用程序均是依靠基于Java的Dalvik特制虚拟机进行开发的。原生SDK的发布能够让开发人员更加直接的接触Android系统资源,并使用传统的C或C++语言编敲代码,并在程序封包文件(.apks)中直接嵌入原生库文件。

一、 工具准备


1.eclipse adt(这里只是多介绍)

2.NDK安装包(官网提供下载http://developer.android.com/tools/sdk/ndk/index.html)可是解压之后的路径,强烈建议不能包括空格。比方:C:\Program Files\android-ndk-r9b\,这是不建议的。为什么不建议有空格?由于我们要在控制台运行命令。路径里面有空格,在控制台操作时一般都会有点问题。

3.cygwin(编译工具用于生成.so库)下载地址:http://www.cygwin.com/安装的时候大部分默认就能够

步骤:

3.1双击setup-x86-64.exe,选中Install from Internet。

3.2填写安装地址。和上面一样,红框部分的路径最好不要有空格。下一步。

3.3Local Package Directory,不须要改动,直接下一步。
     3.4就到了选择连接方式Select connection type。依据你的网络连接情况选择。通常是选择第一个Direct connection。然后下一步。
      3.5选择下载网站Select download site。你看着选,或者加入你自己的url。我是选择的mirrors.163.com。然后下一步。

3.6以下就到了Select Package页面了。就是选择下载的包的页面。
      这里,我们仅仅须要下载三个包即可了:make , gcc-core , gcc-g++。

这里有四个操作。
    ① 点击viewbutton,将显示模式改为Full。
    ② 在Search中,输入我们须要下载的包的名字。
    ③ 找到相应的包,点击Skip一次,出现方块或者有叉方块。
    ④ 反复步骤②和③,直到选中全部我们须要的包。
    以上四步做完了,就下一步。

接下来是选择相关的包,打勾即可,下一步。然后就是下载所需的包。

然后就一直下一步即可了。

finish之后,点击桌面的快捷方式,打开命令行窗体。

命令:
     make -v  和 gcc -v。假设出现一串信息,说明安装OK。

二.将NDK加入到Cygwin的build配置中

这一步非常easy。进入到你的Cygwin安装文件夹中,进入home/[你的username]/文件夹下,里面有个.build_profile文件。

假设没有这个文件,那么: /cygwin安装文件夹/etc/skel里面找,里面有3个文件

.bash_profile, .bashrc 和 .inputrc。 这三个文件是cygwin提供给全部用户的,接下来把这三个文件统统拷贝到自己的“用户directory”下,即  /cygwin安装文件夹/home/ [你的username] 下 

用记事本打开。在文件的末尾,加入下面两行句子并保存:(注意是改动.bash_profile)

NDK=f:/JNI/env/android-ndk-r9b

export NDK

这里解释一下:NDK=f:/JNI/env/android-ndk-r9b  这个就是你的NDK解压的文件夹(注意:这里的反斜杠是/,而不是\。linux下的反斜杠和windows下不同。我就是由于这个不正确,搞了半天。。另一点,=后面可不能加空格!)

注意:加入完之后,假设你的Cygwin窗体是开着的,把它关掉又一次打开。
      打开之后,验证是否配置成功。输入 
       cd $NDK
      假设进入你的ndk文件夹,那就说明OK了。这步骤仅仅是为了高速进入文件夹进行编译!

到这里,NDK和Cygwin都安装OK了。以下打开Eclipse,安装CDT。

这一步主要是为了方便进入文件夹进行编译,不设也行。

三.安装CDT

CDT,是Eclipse的C/C++编辑插件。由于是JNI,会编写C/C++,装一下挺好的。假设你不想装,也是OK的,你能够记事本写,或者Visual Studio写。哪怕你用针刻出C的代码,仅仅要能写对即可。

安装Eclipse插件的方法都一样,help->Install New Software。

以下是输入CDT下载地址:http://download.eclipse.org/tools/cdt/releases/kepler。勾选Main的,Optional的看自己的须要。

然后就一直下一步,什么允许协议啦,什么restart啦,都听他的。

restart之后,新建project时,看看有没有C/C++ Project。假设有,说明安装OK。

參考:http://my.oschina.net/lifj/blog/176916

如有问题请留言,转载注明出处。

Android NDK 简单介绍、工具安装、环境配置相关推荐

  1. Android Studio(一):介绍、安装、配置

    Android Studio相关博客: Android Studio(一):介绍.安装.配置 Android Studio(二):快捷键设置.插件安装 Android Studio(三):设置Andr ...

  2. 无线智能插座的开发工具开发环境配置介绍

    该无线智能插座的开发工具环境配置包括了Android Studio开发工具环境配置以及Arduino开发工具环境配置,其两者的介绍分别如下: (1)Android Studio开发工具开发环境配置 A ...

  3. ADB Logcat 工具使用环境配置

    ADB & Logcat 工具使用环境配置 注:鉴于国外网站,很多同学可能打不开,给出国内的下载连接 http://www.androiddevtools.cn/ 下载 Android SDK ...

  4. Android 系统简单介绍

    Android 系统简单介绍 2011年11月20日 写这篇文章的目的是为了给那些刚刚入手安 卓手机的新手们一些参考,希望他们能快速的上手 [第一期]ANDROID基础知识1~20 [第二期]继续泡! ...

  5. Kylin快速入门系列(1) | Kylin的简单介绍及安装部署

      大家好,我是不温卜火,是一名计算机学院大数据专业大二的学生,昵称来源于成语-不温不火,本意是希望自己性情温和.作为一名互联网行业的小白,博主写博客一方面是为了记录自己的学习过程,另一方面是总结自己 ...

  6. openresty开发系列10--openresty的简单介绍及安装

    openresty开发系列10--openresty的简单介绍及安装 一.Nginx优点 十几年前,互联网没有这么火,软件外包开发,信息化建设,帮助企业做无纸化办公,收银系统,工厂erp,c/s架构偏 ...

  7. 【OpenCV】OpenCV介绍及C++环境配置

    文章目录 OpenCV介绍 Windows OpenCV环境配置 OpenCV介绍 OpenCV是一个跨平台计算机视觉和机器学习软件库,可以运行在Linux.Windows.Android和Mac O ...

  8. ActiveMQ简单介绍以及安装

    ActiveMQ简单介绍以及安装   现实的企业中,对于消息通信的应用一直都非常的火热,而且在J2EE的企业应用中扮演着特殊的角色,所以对于它研究是非常有必要的. 上篇博文深入浅出JMS(一)–JMS ...

  9. Linux系统Vi/Vim编辑器的简单介绍、安装/卸载、常用命令

    Linux系统Vi/Vim编辑器的简单介绍.安装/卸载.常用命令 1.介绍 vi(Visual Interface)编辑器是Linux和Unix上最基本的文本编辑器,工作在字符模式下.由于不需要图形界 ...

最新文章

  1. mysql 服务启动异常
  2. 阅读微信支付demo收获
  3. 二层交换配置完ping失败_设置完端口聚合之后就ping不通了!!!
  4. 计算机科学在生物信息中的应用,生物信息学在基因组学中的应用
  5. clickhouse 同步mysql_ClickHouse和他的朋友们(11)MySQL实时复制之GTID模式
  6. 被问到TCP的可靠传输和提高网络利用率?
  7. 换个思路理解Javascript中的this
  8. RS232 DB9引脚定义
  9. flutter 问题之MappedListIterableis not a subtype of type List解决
  10. 六十分之七——焦虑路上的涅槃
  11. java队列处理高并发_Java高并发--消息队列
  12. 前端集成解决方案(webpack、gulp)
  13. [转载] 细看名字服务中心
  14. 使用Authorize.net的SDK实现符合PCI标准的支付流程
  15. 初始圈的选择matlab,基于MATLAB的最优算法案例分析——关于徐州潘安湖风景区游览路线设计...
  16. 李翔敏:城市停车管理的五点困境、六大展望与三项思考
  17. 文房四宝用计算机取代的什么,现代文房四宝是哪些?
  18. 交通等时圈|可达性|Arcgis|Python
  19. Unity创建Low Poly地形(Unity Blender)
  20. 为什么要使用openstry_什么是配线架?为什么要使用配线架?

热门文章

  1. WPF MeshGeometry3D
  2. SpringCloud成长之路 一 注册与发现(Eureka)
  3. PIX 525下的怪问题(需在防火墙后的同子网上激活之后才能在INTERNET上使用)?...
  4. jQuery学习笔记6:表单选择器
  5. LSOF 安装与使用(功能强大)
  6. 北京铁路局百余列普速列车将开通WiFi
  7. grep, sed, awk
  8. 有关进行单元测试的时候,不去调本地代码去掉dubbo上的服务
  9. 程序、进程、线程的关系
  10. html5 图片上传,支持图片预览、压缩、及进度显示,兼容IE6+及标准浏览器