标签:android jni linux android ndk 交叉编译
一、 工具准备
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++。
这里有四个操作。
① 点击view按钮,将显示模式改为Full。
② 在Search中,输入我们需要下载的包的名字。
③ 找到对应的包,点击Skip一次,出现方块或者有叉方块。
④ 重复步骤②和③,直到选中所有我们需要的包。
以上四步做完了,就下一步。
接下来是选择相关的包,打勾就行,下一步。然后就是下载所需的包。
然后就一直下一步就行了。
finish之后,点击桌面的快捷方式,打开命令行窗口。
命令:这一步很简单。进入到你的Cygwin安装目录中,进入home/[你的用户名]/目录下,里面有个.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窗口是开着的,把它关掉重新打开。到这里,NDK和Cygwin都安装OK了。下面打开Eclipse,安装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之后,新建工程时,看看有没有C/C++ Project。如果有,说明安装OK。
参考:http://my.oschina.net/lifj/blog/176916
如有问题请留言,转载注明出处。
标签:android jni linux android ndk 交叉编译
原文地址:http://blog.csdn.net/rain_butterfly/article/details/25237813