android NDK R4+cygwin

来源:互联网 发布:蕾比亚技能数据 编辑:程序博客网 时间:2024/05/21 08:55

      今天终于把环境搭建好了,编译生成了自己第一份.so文件,还是比较兴奋的哦!但是从下载cygwin,NDK,到最后成功,耗时将近1天啊,搞的我是精疲力竭。 下面就把我的辛苦历程共享一下,希望可以帮助别人,让别人少走弯路。

 

      一、cygwin的下载 可以下载cygwin安装包到本地进行安装,也可以到官方网站上下载setup.exe,然后在线安装。安装步骤没什么好说的,我只是说一下我的悲剧。在网上查的资料里都说为了什么什么以后出错,安装的时候安装全部的,结果我也选了全部安装,结果就是我下载了一夜,早上上班的时候,哇。。。才83%(这也跟网速有关)。然后我就取消了,我以查看已经下载好的部分,乖乖,已经快3G的大小了。然后安装的时候又是等了半个小时,安装好了,一看,乖乖,安装出来的文件也快要2、3个G了。所以,我在这里想说的是,如果我们只是以用cygwin进行c,c++编译生成.so文件的话,下载和安装的时候只需要在【Select Packages】中选择Devel即可,这样可以省去很多时间。

 

      二、NDK安装 因为我现在的android2.2,所以我从官方网站下载的是android-ndk-r4。由于事先没有看说明文档android-ndk-r4/docs/OVERVIEW.TXT,导致我build/host-setup.sh很多遍,结果好不容易找到解决办法,那就是android-ndk-r4版本根本就不需要这一步。我晕死了,百度既能帮助人,也能害人啊!

 

     三、编译 环境安装好了,我就迫不及待的编译android-ndk-r4/samples/hello-jni,当我输完命令后,正高兴的等待着结果的时候,天不助我啊,又蹦出来一个错误,找不到cygz.dll文件,我晕啊,赶紧又上网down一个下来,放在指定目录(win32下),重启cygwin,再一次输入命令,哦,god,梦寐以求的.so文件终于出来了。

 

     四、运行 把编译过的hello-jni导入到eclipse,运行,界面上出现了熟悉的Hello from JNI!

 

 上面就是完整的过程,怎么说呢,痛并快乐着! 下面几个是我执行过程中遇到的几个问题:

 

 1、安装cygwi成功后,cygwin/home/用户名/下没有.bash_profile文件,导致不能设置NDK的根路径,还得我每次都输入完整的路径,累啊,不知道怎么把.bash_profile加进来?

 

 2、编译成功后,除了生成libhello-jni.so文件外,还生成了gdb.setup,和gdbserver两个文件,R4版本以前好像是没有这两个文件的,不知道这两个文件的作用是什么?

 

 希望看到我文章的高手能帮我把这两个问题解决一下,在这感激不尽!