【Android學習專題】搭建Android NDK环境

SkySeraph Feb 16th 2012 SZ

Email:skyseraph00@163.com



NDK:Native Development Kit

【Android学习专题】搭建Android开发环境


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\<你的用户名>\.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 编译工程生成.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

更多相关文章

  1. Android(安卓)5.1 API 22 所有sdk文件下载地址
  2. Android(安卓)依赖报错Version 28 (intended for Android(安卓)P
  3. Android(安卓)SDK Android(安卓)NDK 官方下载地址
  4. ubuntu android 开发环境配置
  5. Android静默安装相关
  6. 【Android(安卓)安装包优化】Android(安卓)中使用 SVG 图片 ( An
  7. Java后端学Android(1)-Hello World
  8. Android(安卓)X86
  9. (mac)Android(安卓)Studio安装以及Fetching android sdk compone

随机推荐

  1. Android mvp 详解(下)
  2. HierarchyView的实现原理和Android设备无
  3. app目录下的build.gradle详解
  4. Android LayoutInflater加载.xml文件原理
  5. Android 中的JUnit
  6. Android 上传PHP xUtils Bug修复分析过程
  7. android Intent应用
  8. Android UI Button 和GridView 的设计--
  9. Android给Gallery处于中间的图片加一个背
  10. Android(安卓)APK加壳技术方案【2】