搭建Android NDK环境


Windows XP环境下

1 一些下载

NDK r7:http://developer.android.com/sdk/ndk/index.html
cygwin:http://www.cygwin.com/  (1.7.11-1)
notepad++:http://notepad-plus-plus.org/download/v5.9.8.html


2 cygwin安装

执行下载的setup.exe。点Next
选择安装方式。选择在线安装。假设有现成离线包时。可选择离线安装
选择安装文件夹(Cygwin终于的安装文件夹)
设置本地包暂存路径(下载文件存放文件夹)
设置网络连接方式:默认直接连接
选择下载网站。这个速度比較快http://mirrors.163.com
选择安装项。

在默认设置下,仅仅需选择Devel(点击列表中Devel,将后面的Default改为Install),其他均为默认状态。
  注:binutils、gcc、gcc-mingw、gdb、make等必装。详见Refs-5
漫长等待,直到下载完毕
  注:下载完后的包能够备份下,以便以后能够直接离线安装,速度快哦!

为系统加入环境变量(系统属性->环境变量->Path),如我的为C:/cygwin/bin


3 cygwin环境验证

执行Cygwin一次(Cygwin.bat)。以便创建一些用户环境文件
检測
cygwin的版本号:cygcheck -c cygwin
gcc的版本号:gcc --version
g++的版本号:g++ --version
make的版本号:make --version
gdb的版本号:gdb --version
结果例如以下图:


4 配置NDK路径

将下载的NDK解压缩到某个文件夹
zai cygwin的 home\<你的username>\.bash_profile 文件里最后加入:(可用notepad++或者UltraEdit打开)
  NDK=/cygdrive/<你的盘符>/<android ndk 文件夹> export NDK,
  如我的为 NDK=/cygdrive/C/Android/android-ndk-r7 export NDK
  注:"NDK"这个名字随便起,以后经经常使用别太长
验证
重新启动cygwin,输入:cd $NDK
可进入ndk相应文件夹说明设置OK。


5 编译project生成.so文件

方式一:
在cygwin命令行下编译,编译步骤例如以下图所看到的。三步骤

进入android项目工作文件夹:cd $NDK
依次进入samples\hello-jni文件夹,完整路径为C:\Android\android-ndk-r7\samples\hello-jni
执行:$NDK/ndk-build。
注意:该命令$NDK和/ndk-build是连接到一起的,中间没有空格。实际使用时是打入完整的$NDK/ndk-build,不要仅仅打ndk-build

方式二:
在步骤4提到的.bash_profile 文件里。加入jni=/cygdrive/jni的文件夹
如我的能够为 jni=/cygdrive/C/Android/android-ndk-r7/samples/hello-jni
cd $NDK
cd $jni

正常编译编译后生成两个文件。例如以下图,在项目libs/armeabi文件夹下生成相应的.so文件。


6 在eclipse中集成c/c++开发环境(备选)

官网: http://www.eclipse.org/cdt/downloads.php
方式一:在官网找到与你的Eclipse版本号匹配的CDT插件的在线安装地址,然后在Eclipse的Install New Software安装
方式二:在官网下载与你的Eclipse版本号匹配的CDT安装包,解压缩后把plugins和feagures 复制覆盖到eclipse文件夹下就可以


7 配置C/C++的编译器

。。。


8 常见错误及解决方法

问题:Android NDK: Host 'awk' tool is outdated。例如以下图所看到的错误,本人遇到的问题

解决:删除awk执行文件
參考: http://sunting-bcwl.iteye.com/blog/1278574
          http://maidini.blog.163.com/blog/static/3776270420111195059911/ 
错将Cygwin Terminal 当作 Cygwin.bat,这个问题困扰了我将近一个小时啊!


其他网上问题 http://bbs.chinavideo.org/viewthread.php?tid=10821&extra=page%3D2


Ubuntu11.10环境下(待更新...)


Refs

1 http://blog.csdn.net/javatiger427/article/details/6115693
2 http://maidini.blog.163.com/blog/static/3776270420111194440211/
3 http://www.cnblogs.com/luxiaofeng54/archive/2011/08/13/2136982.html
4 http://www.metsky.com/archives/525.html
5 http://www.cnblogs.com/playing/archive/2011/07/14/2106727.html

Windows XP环境下 搭建Android NDK环境的更多相关文章

  1. Linux环境下搭建Android开发环境

    最近在折腾linux.因为咱是搞安卓开发的,所以少不了需要搭建Android开发环境,就此小记,希望能给向我一样的开发者一点帮助!开干! 1.安装JDK 下载JDK包,得到的是类似于jdk-8u65- ...

  2. Window环境下搭建android NDK开发环境

    1.下载ndk和cygwin NDK 下载地址:http://developer.android.com/tools/sdk/ndk/index.html Cygwin 下载地址:http://cyg ...

  3. [转载]在Windows下搭建Android开发环境

    http://jingyan.baidu.com/article/bea41d437a41b6b4c51be6c1.html 在Windows下搭建Android开发环境 | 浏览:30780 | 更 ...

  4. 在CentOS下搭建Android 开发环境

    在CentOS下搭建Android 开发环境 目录 1.环境搭建 1.1.JDK安装 1.2.Eclipse安装 1.3.ADT安装 1.4.Android SDK安装 1.5.Android NDK ...

  5. mac os 下搭建android开发环境

    mac os 下搭建android开发环境 周银辉 mac os 下搭建android环境比较方便, 如下几个步骤: 1,安装jdk 先搞清楚自己是否已经安装,在命令行下:java -version, ...

  6. mac 下搭建 Android 开发环境

    因工作需要,要在mac 下搭建 Android 开发环境.谷歌.度娘了好久,没有找个一个完整又系统的方法,很是苦恼.最终,皇天不负有心人,找到了下面这篇文档,结合亲身体验,特此记录.也为有这方面需求的 ...

  7. ubuntu下搭建android开发环境之超顺畅模拟器

    如果说android系统的卡,像耳边蚊子让人抓狂,那么android模拟器的卡,那就像午睡时的苍蝇.大概就是一样的恶心~~ 那么,这样的问题对于开发者肯定忍无可忍,我也一样,虽然我还没有入门,但我也一 ...

  8. 在win10环境下搭建 solr 开发环境

    在win10环境下搭建 solr 开发环境 2017年05月30日 09:19:32 SegaChen0130 阅读数:1050   在win10环境下搭建 solr 开发环境 安装环境  Windo ...

  9. Windows下搭建Android NDK开发环境及命令行编译

    首先说明本文内的相关安装操作参考<Pro Android C++ with the NDK>一书. 安装 Windows搭建Android NDK开发环境需要安装如下部分(同时需要配置对应 ...

随机推荐

  1. 用Swift完成不同View Controller之间的切换

    之前用objective-c开发时,页面之间的切换很容易.其实用swift没有很大的变化,如果你是用storyboard完成的界面,基本上是同样的方式,只不过在代码部分写成swift风格的就行了. 今 ...

  2. 关于apche无缘无故个启动不了,解决方法

    1. 对于用户不小心把apache下的conf文件不小心给修改了,可那会导致,启动不了apache, 解决办法可以重新下载一个, 64为  32位  下载地址 http://www.veryhuo.c ...

  3. Qt删除指定文件

    Qt删除指定文件: QFile fileTemp(filename); fileTemp.remove();

  4. JVM调优总结(八)-典型配置举例2

    常见配置汇总 堆设置 -Xms:初始堆大小 -Xmx:最大堆大小 -XX:NewSize=n:设置年轻代大小 -XX:NewRatio=n:设置年轻代和年老代的比值.如:为3,表示年轻代与年老代比值为 ...

  5. Hibernate 3中如何获得库表所有字段的名称

    15问:Hibernate 3中如何获得库表所有字段的名称 答:可以使用以下的程序获得. Configuration conf = new Configuration(); conf.configur ...

  6. 浅谈MySql的存储引擎(表类型) (转)

    什么是MySql数据库 通常意义上,数据库也就是数据的集合,具体到计算机上数据库可以是存储器上一些文件的集合或者一些内存数据的集合. 我们通常说的MySql数据库,sql server数据库等等其实是 ...

  7. MFC + CxImage 实现自绘半透明按钮

    环境:VS2008 + CxImage btn.h [cpp] view plaincopyprint? #pragma once // CBtn #include "ximage/xima ...

  8. 公司需求知识学习-WCF

    一.概述 Windows Communication Foundation(WCF)是由微软发展的一组数据通信的应用程序开发接口,可以翻译为Windows通讯接口,它是.NET框架的一部分.由 .NE ...

  9. Codeforces Round #258 (Div. 2) 小结

    A. Game With Sticks (451A) 水题一道,事实上无论你选取哪一个交叉点,结果都是行数列数都减一,那如今就是谁先减到行.列有一个为0,那么谁就赢了.因为Akshat先选,因此假设行 ...

  10. 如何捕获winform程序全局异常?

    1.在C#中我们如何处理异常? 上面的问题学过C#的问题大家可能都能回答处理,用try-catch-finally具体如下: try { //可能出错的语句 } catch (Exception) { ...