安装cygwin:

由于NDK编译代码时必须要用到make和gcc,所以你必须先搭建一个linux环境, cygwin是一个在windows平台上运行的unix模拟环境,它对于学习unix/linux操作环境,或者从unix到windows的应用程序移植,非常有用。通过它,你就可以在不安装linux的情况下使用NDK来编译C、C++代码了。下面我们一步一步的安装cygwin吧。

首先要下载cygwin的安装程序setup.exe,下载地址为:

http://www.cygwin.com

下载完成后双击运行setup.exe,可以看到向导界面如下:

点击下一步,此时让你选择安装方式:

1)Install from Internet:直接从Internet上下载并立即安装(安装完成后,下载好的安装文件并不会被删除,而是仍然被保留,以便下次再安装)。

2)Download Without Installing:只是将安装文件下载到本地,但暂时不安装。

3)Install from Local Directory:不下载安装文件,直接从本地某个含有安装文件的目录进行安装。

选择第一项,点击下一步:
 

 选择要安装的目录,注意,最好不要放到有中文和空格的目录里,似乎会造成安装出问题,其它选项不用变,之后点下一步:

上一步是选择安装cygwin的目录,这个是选择你下载的安装包所在的目录,默认是你运行setup.exe的目录(就是你下载的可执行文件setup.exe所在的目录),我放在了F:\download目录下,然后点击下一步,此时你共有三种连接方式选择:

1)Direct Connection:直接连接。
2)Use IE5 Settings:使用IE的连接参数设置进行连接。
3)Use HTTP/FTP Proxy:使用HTTP或FTP代理服务器进行连接(需要输入服务器地址、端口号)。
用户可以  根据自己的网络连接的实情情况进行选择,一般正常情况下,均选择第一种,也就是直接连接方式。然后再点击“下一步”,这是选择要下载的站点,我用的是http://ftp.ntu.edu.tw,(也可以自己添加站点,在User URL中输入你选择的站点,然后点击Add添加,在列表中选中添加的站点)然后点击下一步:
 此时会出现一个要下载安装的组件包列表:
点击下一步,进入安装过程:
安装完成后点击完成结束安装。

下面测试一下cygwin是不是已经安装好了:

运行cygwin,在弹出的命令行窗口输入:cygcheck -c cygwin命令,会打印出当前cygwin的版本和运行状态,如果status是ok的话,则cygwin运行正常。然后依次输入gcc –version,g++ --version,make –version,gdb –version进行测试,如果都打印出版本信息和一些描述信息,非常高兴的告诉你,你的cygwin安装完成了!

下载Android NDK:

下载站点:

http://dl.google.com/android/ndk/android-ndk-r4-windows.zip

http://androidappdocs.appspot.com/sdk/ndk/index.html

http://developer.android.com/sdk/ndk/overview.html

如果上面的站点下载不了,也可以到网上找一些下载站点,下载r4版本的android_ndk,下载后直接解压即可。可以考虑和android SDK放在相同的目录下,对以后的开发可能会带来一些便利。

配置NDK环境变量

首先找到cygwin的安装目录,找到一个home/<你的用户名>/.bash_profile文件,我的是C:/cygwin/home/Administrator/.bash_profile,(如果找不到,那就到网上去找解决办法把,这种情况确实可能发生)打开bash_profile文件,添加如下内容(根据你的ndk的安装目录,我的是D盘android-ndk-r4):

ANDROID_NDK_ROOT=/cygdrive/d/android-ndk-r4

export ANDROID_NDK_ROOT

ANDROID_NDK_ROOT这个名字是随便取的,为了方面以后使用方便,选个简短的名字,然后保存。打开cygwin,输入cd $ANDROID_NDK_ROOT,如果输出上面配置的/cygdrive/d/android-ndk-r4信息,则表明环境变量设置成功了。

安装eclipse组件:

Android SDK 和 ADT就不介绍了,下面介绍一个新的组件——CDT。CDT是eclipse开发c++的组件包,这里声明一下,使用NDK开发android是不需要CDT的。如果你安装了CDT,会在以后review别人的c++ code时带来一些方便。可以到CSDN上下载CDT的压缩包,加压后把对应的目录下的文件拷贝到eclipse的对应目录下就可以了。

部署并运行第一个hello-jni例子

用NDK来编译程序:

现在我们用安装好的NDK来编译一个简单的程序吧,我们选择ndk自带的例子hello-jni,我的位于D:/android-ndk-r4/samples/hello-jni(根据你具体的安装位置而定),运行cygwin,输入命令cd /cygdrive/d/android-ndk-r4/samples/hello-jni,进入到D:/android-ndk-r4/samples/hello-jni目录。输入$ANDROID_NDK_ROOT/ndk-build,执行成功后,它会自动生成一个libs目录,把编译生成的.so文件放在里面。($ANDROID_NDK_ROOT是调用我们之前配置好的环境变量,ndk-build是调用ndk的编译程序),此时去hello-jni的libs目录下看有没有生成的.so文件,如果有,你的ndk就运行正常啦!

在eclipse中配置参数编译源码生成.so文件

1)导入hello-jni工程

2)这时你的工程可能会报错,没关系,工程右键选择Build path->config Build path,如下图:

然后选择builders->new,如下图:

选择program,配置如下图:

出现了添加界面,首先给编译配置起个名字,如:C_Builder或者是默认的New_Builder,如上图,

设置Location为<你cygwin安装路径>/bin/bash.exe程序,例如:C:/cygwin/bin/bash.exe;

设置Working Directory为<你cygwin安装路径>/bin目录,例如:C:/cygwin/bin

设置Arguments为:

--login -c "cd /cygdrive/d/android-ndk-r4/samples/hello-jni && $ANDROID_NDK_ROOT/ndk-build"

上面的配置中/cygdrive/e/android-ndk-r5/samples/hello-jni是你当前要编译的程序的目录,$ANDROID_NDK_ROOT是之前配置的ndk的环境变量,这两个根据你具体的安装目录进行配置,其他的不用变,Arguments这串参数实际是给bash.exe命令行程序传参数,进入要编译的程序目录,然后运行ndk-build编译程序。

接着配置refresh选项:

勾选Refresh resources upon completion

再配置Build Options选项,如下图:

勾选上最后三项,之后点击Specify Resources按钮,选择资源目录,勾选你的项目目录即可:

最后点击Finish,点击OK一路把刚才的配置都保存下来,注意:如果你配置的编译器在其它编译器下边,记得一定要点Up按钮,把它排到第一位,否则C代码的编译晚于Java代码的编译,会造成你的C代码要编译两次才能看到最新的修改,如下图,一定要保证New_Builder在第一位:

现在来测试一下是否可以自动编译呢,打开项目jni目录里的hello-jni.c文件把提示Hello from JNI!改成其他的文字:如:"Hello,My name is lusifer.",然后再模拟器中运行你的程序,如果模拟器中显示了你最新修改的文字,那么你已经全部配置成功啦!

转自:http://ygc87.blog.163.com/blog/static/2396065201221063030169/

windows下eclipse搭建android_ndk开发环境的更多相关文章

  1. Windows下快速搭建安卓开发环境android-studio

    Windows下快速搭建安卓开发环境android-studio 发布时间:2018-01-18 来源:网络 上传者:用户 关键字: 安卓 搭建 Android Windows 快速 环境 Studi ...

  2. Windows下Eclipse+Scala+Spark开发环境搭建

    1.安装JDK及配置java环境变量 本文使用版本为jdk1.7.0_79,过程略 2.安装scala 本文使用版本为2.11.8,过程略 3.安装spark 本文使用版本为spark-2.0.1-b ...

  3. Windows下Qt5搭建Android开发环境笔记

    Windows很大的特点是配置使用几乎都可以图形化进行,和Linux比起来在很多时候配置环境也要方便很多.所以,搭建Qt for Andorid也是十分简单的.需要以下工具: 1.最方便的Qt官方包, ...

  4. Ubuntu下Eclipse搭建ARM开发环境

    第一步:安装JRE 和 Eclipse 详细步骤请参考:http://blog.csdn.net/ex_net/article/details/7251664 第二步:安装arm-linux-gcc ...

  5. windows下vscode 搭建python开发环境

    1.vscode https://code.visualstudio.com/ 下载 2.python下载 https://www.python.org/downloads/windows/  exe ...

  6. mac10.9下eclipse的storm开发环境搭建

    --------------------------------------- 博文作者:迦壹 博客地址:http://idoall.org/home.php?mod=space&uid=1& ...

  7. 使用Eclipse搭建JavaWeb开发环境的几个基本问题

    Eclipse搭建JavaWeb开发环境 eclipse是一个用于java程序开发的ide软件,tomcat是一个运行javaweb应用的服务器软件,使用eclipse开发javaweb应用的时,首要 ...

  8. 基于eclipse搭建android开发环境-win7 32bit

    基于eclipse搭建android开发环境-win7 32bit 前言:在使用朋友已搭建的Android开发环境时,发现朋友的开发环境版本较低且在update SDk时失败,便决定根据网上文章提示从 ...

  9. Eclipse搭建Android开发环境并运行Android项目

    Eclipse搭建Android开发环境并运行Android项目 (详细) 安装环境: window 10 64位 安装工具: JDK.Eclipse.SDK.ADT 安装步骤: 1.JAVA JDK ...

随机推荐

  1. Knockout双向绑定

    knockout双工绑定基于 observe 模式,性能高.核心就是observable对象的定义.这个函数最后返回了一个也叫做 observable 的函数,也就是用户定义值的读写器(accesso ...

  2. 基于Node的Web聊天室

    1 项目名称 Web聊天室(<这是NodeJs实战>第二章的一个案例,把整个开发过程记录下来)

  3. 深入理解Spring系列之十:DispatcherServlet请求分发源码分析

    转载 https://mp.weixin.qq.com/s/-kEjAeQFBYIGb0zRpST4UQ DispatcherServlet是SpringMVC的核心分发器,它实现了请求分发,是处理请 ...

  4. (转)什么是CDC类(Communication Device Class)

    全文地址:http://justmei.blog.163.com/blog/static/1160998532010321112522467/ 什么是CDC类 (Communication Devic ...

  5. 64_p10

    python3-matplotlib-qt4-2.0.0-2.fc26.2.x86_64.rpm 05-Apr-2017 09:54 29438 python3-matplotlib-qt5-2.0. ...

  6. ubuntu下安装tftp服务器(转)

    安装了好几次tftp服务器,每次在网上找安装方法,找到的都不一样,有的能用,有的不能用,先把一个能用的版本做一个备忘. 参考链接:http://www.cnblogs.com/geneil/archi ...

  7. BeanUtils简化数据封装

    BeanUtils主要用来封装JavaBean的. 1.什么是JavaBean JavaBean指的是标准的类. 要求: 1. 类必须被public修饰2. 必须提供空参的构造器3. 成员变量必须使用 ...

  8. HDU 4553 约会安排(线段树区间合并+双重标记)

    题目链接:http://acm.hdu.edu.cn/showproblem.php?pid=4553 题目大意:就是有三种操作: ①DS x,安排一段长度为x的空闲时间跟屌丝一起,输出这段时间的起点 ...

  9. hdu 5912(迭代+gcd)

    Fraction Time Limit: 2000/1000 MS (Java/Others)    Memory Limit: 65536/65536 K (Java/Others)Total Su ...

  10. 洛谷P1720 月落乌啼算钱 题解

    题目传送门 初看题目,好难.再看一次,探索规律,发现这就是有名的斐波那契数列. F[i]=f[i-1]+f[i-2] SO 代码很简单,貌似要开long long,又貌似不用开. #include&l ...