Android NDK 简单介绍、工具安装、环境配置
在此之前,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)
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 简单介绍、工具安装、环境配置的更多相关文章
- Mahout学习之Mahout简单介绍、安装、配置、入门程序測试
一.Mahout简单介绍 查了Mahout的中文意思--驭象的人,再看看Mahout的logo,好吧,想和小黄象happy地玩耍,得顺便陪陪这位驭象人耍耍了... 附logo: (就是他,骑在象头上的 ...
- idea npm vue java开发工具安装 环境配置
感谢此链接内容作者,从前往后流程较完整详细,助我成功配置好(不知道在这之前做的一些尝试有没有影响) https://blog.csdn.net/qq_42564846/article/details/ ...
- Android Studio(一):介绍、安装、配置
Android Studio相关博客: Android Studio(一):介绍.安装.配置 Android Studio(二):快捷键设置.插件安装 Android Studio(三):设置Andr ...
- Android发展简单介绍
Android一词的本义指“机器人”,同一时候也是Google于2007年11月5日宣布的基于Linux平台的开源手机操作系统的名称,该平台由操作系统.中间件.用户界面和应用软件组成,号称是首个为移动 ...
- CocoaPods的简单介绍及安装和使用
CocoaPods的简单介绍及安装和使用 一.CocoaPods是什么? 当你开发iOS应用时,会常常使用到非常多第三方开源类库.比方JSONKit.AFNetWorking等等. 可能某个类库又 ...
- 详解LUA开发工具及其环境配置
LUA开发工具及其环境配置是本文要介绍的内容,主要是来了解并学习lua开发工具的使用和环境的配置,第一次接触LUA的话,就跟本人一起学习吧.看我能不能忽悠到你. LUA是语言,那么一定有编写的工具.第 ...
- Android 服务端开发之开发环境配置
Android 服务端开发之开发环境配置 这里是在Eclipse的基础上安装PhpEclipse插件方法,PHPEclipse是Eclipse的 一个用于开发PHP的插件.当然也可以采用Java开发a ...
- 安卓app开发-01-开发工具及环境配置
安卓app开发-01-开发工具及环境配置 请大家根据推荐指数和自己的意愿选择 使用 Android Studio 1.可以使用 Android Studio 下载地址:http://www.andro ...
- openresty开发系列10--openresty的简单介绍及安装
openresty开发系列10--openresty的简单介绍及安装 一.Nginx优点 十几年前,互联网没有这么火,软件外包开发,信息化建设,帮助企业做无纸化办公,收银系统,工厂erp,c/s架构偏 ...
随机推荐
- 倒计时IE10+
直接上代码,dome 里边有我做的列表倒计时(多个同时倒计时)下面是我做的例子,颜色可以自己设置的 <p name="daojishi" style="width: ...
- sqlserver 三种恢复模式
sql server数据库提供了三种恢复模式:完整,简单和大容量日志,这些模式决定了sql server如何使用事务日志,如何选择它要记录的操作,以及是否截断日志.截断事务日志是删除己执行事务并把该日 ...
- A - Oil Deposits(搜索)
搜索都不熟练,所以把以前写的一道搜索复习下,然后下一步整理搜索和图论和不互质的中国剩余定理的题 Description GeoSurvComp地质调查公司负责探测地下石油储藏. GeoSurvComp ...
- [Swust OJ 1094]--中位数(巧用set,堆排序)
题目链接:http://acm.swust.edu.cn/problem/1094/ Time limit(ms): 1000 Memory limit(kb): 32768 中位数(又称中值,英 ...
- IOS7修改Navigation Bar上的返回按钮文本颜色,箭头颜色以及导航栏按钮的颜色
解决方法 1: 自从IOS7后UINavigationBar的一些属性的行为发生了变化.你可以在下图看到: 现在,如果你要修改它们的颜色,用下面的代码: 1 2 3 4 self.navigation ...
- Week6(10月17日):周末别忘记运动
Part I:提问 =========================== 1.多对多.一对多关系的数据实体模型,如何创建? 已知汽车4S店需开发一个客户关系管理系统(CRM),请为其中的客户和汽车 ...
- TensorFlow文本与序列的深度模型
TensorFlow深度学习笔记 文本与序列的深度模型 Deep Models for Text and Sequence 转载请注明作者:梦里风林Github工程地址:https://github. ...
- python模块学习---HTMLParser(解析HTML文档元素)
HTMLParser是Python自带的模块,使用简单,能够很容易的实现HTML文件的分析. 本文主要简单讲一下HTMLParser的用法. 使用时需要定义一个从类HTMLParser继承的类,重定义 ...
- css3处理sprite背景图压缩来解决H5网页在手机浏览器下图标模糊的问题
近期在负责一个微信H5 App项目,遇到一个郁闷的问题,手机浏览器查看网页时图标都是模糊的,有锯齿,电脑浏览器显示则是正常.大概知道是分辨率适配等类型的问题,后来网上查找了一些办法.大部分的解决方式都 ...
- cocos2d-x游戏开发系列教程-坦克大战游戏之坦克和地图碰撞的检测下
上篇我们完成了地图的信息获取和碰撞检测,这篇我们整合到程序中. 在这之前我们改造一下Tank类,使它更加模块化,共容易理解: 1.改造后的Tank类声明如下: class Tank : public ...