android ndk环境搭建


今天上午把NDK配置好了,想想自己还真是笨,昨天下午就开始配置了,差不多一个工作日。。。
还是想把自己的经验分享一下,毕竟自己也是看着别人的文章配置的,虽然有好多盲点自己不得不去官网找出来最后的答案。

ndk是什么不在这篇文章的范围之内,我只介绍怎么配置。

step1 安装jdk。
step2 下载Android sdk(ADT)解压,配置一个android虚拟机,并测试效果。
step3 下载NDK解压。
step4 下载Cygwin,安装。加入autoconf2.1、automake1.10、binutils、gcc-core、gcc- g++、gcc4-core、gcc4-g++、gdb、pcre、pcre-devel、gawk、make包。配置环境变量并测试。
step5 设置NDK环境变量到cygwin
step6 设置eclipkse编译环境
step7 demo测试。

附链接


下面是详细步骤;

step1 安装jdk,下载后,安装。不要忘了配置环境变量。
①新建“Java_Home”,设置其值为 JDK所在的绝对路径(例如 D:\Program Files\Java\jdk1.5.0_04)。
②新建“Classpath”(如果已有,则直接编辑),设置其值为  .;%Java_Home%\lib (若值中原来有内容,用分号与之隔开)。
      注意路径前的符号为.;不能漏掉
③新建“Path”(如果已有,则直接编辑),值: %Java_Home%\bin; (若值中原来有内容,用分号与之隔开)。  
cmd java -version测试
step2 下载Android sdk(ADT)解压,配置一个android虚拟机,并测试效果。
解压以后,新建一个android工程test。点击android virtual device manger,就是那个安卓手机样子的图标,new,配置手机的属性后OK.这时候可能有短暂延迟,后弹出窗口,start。launch。电脑第一次launch的时间会稍长。看到手机到锁屏界面后,右击工程test,run as android Application。第七次会弹出一个窗口,好像是屏幕大小的设置,我直接点OK,至此,看到屏幕后此部分结束。
step3 下载NDK解压。没什么好说的。解压后添加一个环境变量。
ANDROID_NDK_ROOT  对应路径为 解压后的文件夹
step4 下载Cygwin,安装。加入autoconf2.1、automake1.10、binutils、gcc-core、gcc- g++、gcc4-core、gcc4-g++、gdb、pcre、pcre-devel、gawk、make包。配置环境变量并测试。
如果已经下载过,可以选择本地安装,没有的话下载可能需要一个小时吧,网上都说两个小时,可能是他们的网速不好。可能需要注意这一点,本地安装后测试的时候不通过,应为路径的问题,不管包在哪个路径,安装完毕后要把bin文件与cygwin安装目录里的bin文件夹合并即可。不通过的话缺少哪项重新安装。
打开cygwin测试一下指令,全部通过即可。
 


step5 设置NDK环境变量到cygwin
此时找到cygwin下home 系统用户名 .bash_profile文件,打开后面加入NDK=/cygdrive/<盘符>/<android ndk目录> export NDK
例如:NDK=/cgydrive/d/IDE/android-ndk-r9c  export NDK
虽然不难,但容易出错最好有个code编辑器,我安装的是notepad++,用这个打开此文件看的更清楚,首先路径的大小写问题,还有这个linux文件和windows下的回车时不同的,最后注意的时刚刚合并的时候启动文件的路径问题。补充一点,即使成功了,测试的时候也需要重启cygwin。
测试指令:cd $NDK

step6 设置eclipkse编译环境
下载好cdt,解压。打开eclipse,help,install new software,add,local,选择cdt路径,把name下的两个√打上,next,要小等一会儿。重启看下新建项目有没有c++。
step7 demo测试。
1.打开cygwin,进入hello-jni目录,输入$NDK/ndk-build,会在文件里生成.so的文件。
2.右键工程栏空白处,import,android,existing android code into workspace,next,finish。
右键工程,run as android application。


android ndk环境搭建,,5-wow.com

郑重声明:本站内容如果来自互联网及其他传播媒体,其版权均属原媒体及文章作者所有。转载目的在于传递更多信息及用于网络分享,并不代表本站赞同其观点和对其真实性负责,也不构成任何其他建议。