【3D技术宅公社】XR数字艺术论坛  XR技术讨论 XR互动电影 定格动画

 找回密码
 立即注册

QQ登录

只需一步,快速开始

调查问卷
论坛即将给大家带来全新的技术服务,面向三围图形学、游戏、动画的全新服务论坛升级为UTF8版本后,中文用户名和用户密码中有中文的都无法登陆,请发邮件到324007255(at)QQ.com联系手动修改密码

3D技术论坛将以计算机图形学为核心,面向教育 推出国内的三维教育引擎该项目在持续研发当中,感谢大家的关注。

查看: 1465|回复: 0

图文详解如何搭建Windows的Android C++开发环境

[复制链接]
发表于 2012-12-27 14:36:49 | 显示全部楼层 |阅读模式

//=====================================================================
//TITLE:
//    图文详解如何搭建Windows的Android C++开发环境(一)
//AUTHOR:
//    norains
//DATE:
//    Thursday  14-April-2011
//Environment:
//    Cygwin 1.7.9
//    Android NDK r5
//=====================================================================


1. 下载Android NDK


    正常来说,我们可以从官网下载NDK,不过似乎一直以来,http://developer.android.com/都无法打开,所以还是通过搜索引擎来随便搜索一个下载吧。为方便大伙,我这里给出一个直接下载网址:http://dl.google.com/android/ndk/android-ndk-r5b-windows.zip。不过,虽然我是从这里下载,但并不代表当各位朋友看到这篇文章时,还能够继续使用。



2. 解压NDK


    将下载回来的zip文件解压。我这里的路径是:D:/ProgramFiles/Android/NDK。虽然路径是任意的,但尽可能不要包含有空格。



3. 下载Cygwin


    Android是用linux核心的,注定为其编写的程序不可能使用微软的Visual Studio之流,何况Google也推荐采用linux开发C++程序。可问题在于,用Windows的人实在太多了,即使是程序员群体也是如此。那么,这是否意味着我们必须要转向linux呢?其实没必要。我们只要下载一个cygwin即可解决问题。


    这个cygwin究竟是何方神圣?它其实是linux工具的合集。它可以在windows下搭建一个linux的环境,让你可以在windows下进行linux的程序开发。其官网网址为:http://www.cygwin.com/,大家可以自行去下载。只不过该软件必须要用官网的setup.exe文件进行下载,而网络上也无法找到完整的cygwin,所以直接带给我们的结果就是,没有了常用的下载软件,只能慢慢地龟速等待。


    点击Setup.exe程序,会弹出一个下载方式选择的对话框。因为我习惯于备份安装文件,以方便第二台机器安装,所以选择的是第二项:"Download without installing",如图:


    在一系列的"下一步"之后,会到一个选择下载组件的对话框。为了避免以后会出现莫名奇妙的问题,我建议还是全部选择install,如图所示:


    以install方式下载整个cygwin的话,大小大概在1.7G左右,所以注定这是一个比较漫长的过程。特别是不能采用我们平时的下载工具,并且服务器在国外,更加剧了耗时的长度。
   
   
4. 安装Cygwin


    还是依然点击setup.exe这个程序,不过这次我们选择的是:"Install From Local Directory",如图:


      
    接着选择安装的目录,我这里是"D:/ProgramFiles/Cygwin",如图所示:

   
   
    再接下来呢,选择的就是你下载回来的Cygwin包的路径了,而我这里路径是"D:/Tools/cygwin",如图所示:

   
   
    可能有朋友无法确定自己的安装路径,其实很简单,本地安装包路径就是setup.ini这个文件所在的文件夹。
   
    紧接着的安装组件还是和之前一样,全部选择为install。点选下一步之后,就等着漫长的安装过程的结束吧,如下图所示:


5. 设置环境变量


    安装完毕之后,为了能够方便编译NDK,最好是设置相应的环境变量。打开cygwin的安装目录下的home文件夹,然后进入到相应的用户名中,如果你发现该用户名下有.bash_profile文件,那么接下来就简单多了,直接用记事本打开该文件,然后在文件末尾添加如下文字:
    #创建NDK的路径,在windows中我的路径为:D:/ProgramFiles/Android/NDK
   NDK_ROOT=/cygdrive/D/ProgramFiles/Android/NDK
   #添加到PATH环境变量中
   export NDK_ROOT

   
    保存之后,打开cygwin,在命令行输入:cd $NDK_ROOT。这里注意,不像windows下的CMD,这里一定是区分大小写的。如果不出意外,就会进入到我们NDK的安装目录了。
   
    如果相应的用户名文件夹中没有改文件,可能问题就没那么简单了。如果你在该用户名下建立一个.bash_profile ,并添加了相应的文字,然后如上面所说一切正常的话,那么恭喜你!但事实上,往往不是那么顺利。很可能你会发现,即使我们在用户名下建立了该文件,但似乎环境变量根本没有成功设置。这个很可能是用户名所在的路径设置不对,要检验路径,直接在cygwin输入pwd即可。
   
    比如,我安装完毕之后,输入pwd,画面显示:   


   
    这意味着,如果我将.bash_profile放到D:/ProgramFiles/Cygwin/home/Administrator 是没有任何作用的,而应该放到D:/WorkPlace !
   
    那么,我们有没有办法更改这个目录呢?答案当然是可以,只要修改相应的环境变量即可。在"我的电脑"点击右键,然后按如下路径进行选择:属性 -> 高级 -> 环境变量。在上面或下面的框中,找到HOME这个环境变量,更改为相应的数值即可。更改之后,重启电脑,将.bash_profile拷贝到HOME变量指向的路径,启动cygwin,那么就可以生效了。这里需要注意,一定要重启电脑,否则这HOME变量之前的数值可能还会影响到cygwin。
   
    更改HOME变量数值之后,输入pwd,很明显看出,路径已经改变,NDK_ROOT变量也起作用了,如图:
   
   
   
6. 编译程序


    接下来,我们就来编译一个程序试试。


    首先,在cygwin命令行界面进入到D:/ProgramFiles/Android/NDK/samples/hello-jni路径。如果对命令行不熟悉的朋友,可以输入如下命令:cd /cygdrive/D/ProgramFiles/Android/NDK/samples/hello-jni
   
    然后输入"$NDK_ROOT/ndk-build"进行编译。$NDK_ROOT是之前在.bash_profile设置的环境路径,而ndk-build是调用NDK的编译工具。如果不出问题,它会生成一个libs目录,并且编译生成的.so文件也会悉数在此,如下图所示:


   
    启动配置好的android的java开发环境,比如说Eclipse + CDT,然后创建一个Android项目,选择Create project form existring source location =D:/ProgramFiles/Android/NDK/samples/hello-jni,确认后即可开始编译并生成apk文件,然后运行该程序即可。关于如何搭建Eclipse + CDT编译环境来编译android程序,我们下一篇文章再详解。




参考文献:

《Cygwin完全下载指南(上)》
http://blog.csdn.net/Lionwoo/archive/2005/08/06/446962.aspx


《Windows平台下搭建Android原生C/C++开发环境 》
http://www.cnblogs.com/FinalKiller/archive/2009/07/11/1520900.html


《Android Beginners: NDK Setup Step by Step》
http://mindtherobot.com/blog/452/android-beginners-ndk-setup-step-by-step/


《windows系统集成cygwin与Eclipse与使用Android NDK r5》
http://student.csdn.net/space.php?uid=121497&do=blog&id=57864


您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

手机版|小黑屋|3D数字艺术论坛 ( 沪ICP备14023054号 )

GMT+8, 2024-11-23 22:26

Powered by Discuz! X3.4

Copyright © 2001-2020, Tencent Cloud.

快速回复 返回顶部 返回列表