搭建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