Eclipse集成Android NDK开发环境

【1】准备工作:

 

    下载最新版本的eclipse。下载地址:http://www.eclipse.org/downloads/

    下载最新版本的JDK。下载地址:http://www.oracle.com/technetwork/java/javase/downloads/index.html

    下载Android SDK。下载之后找个地方解压之后即可使用。下载地址:http://androidappdocs.appspot.com/sdk/index.html

     安装Eclipse ADT 插件,有两种安装方式:

     1.在线安装,将Eclipse解压之后,选择菜单help->Software Updates。在Available Software tab页里点击add site按钮,输入https://dl-ssl.google.com/Android/eclipse。然后Install就OK了。

      2.离线安装,下载ADT插件包之后(下载地址:http://androidappdocs.appspot.com/sdk/eclipse-adt.html ),安装方式1的方法安装即可。区别在于点击add site 按钮之后输入本地ADT插件包的地址即可。

      下载Android NDK。下载之后找个地方解压之后即可使用。下载地址:http://androidappdocs.appspot.com/sdk/ndk/index.html

       Eclipse 能够为包括 C 语言在内的任何语言的开发提供支持。一个名为 CDT 的插件,使得在 Eclipse 里能对C/C++ 进行开发。CDT插件的下载地址: http://www.eclipse.org/cdt/

       要想进行Android JNI开发,Windows操作系统下还需要安装 Cygwin ,并安装上重要的包(特别是 GCC 和Make )。Cygwin的下载地址:http://www.cygwin.com/

 

接下来是windows 下面的配置:

在晕的死下可以配置 eclipse , ndk , cygwin ,使得可以在 eclipse 中直接对 android 项目中编写 c/c++ 代码并且自动编译,就像写 java 代码一样方便(当然,其实没有写 java 代码方便啦,写 java 代码可是有代码提醒功能的),当然,这个配置并不如在linux 下配置简单。 前提条件:首先要确保cygwin 安装好了且可以运行,建议将devel 下面的所有包都装上,谁知道那个什么时候要用上呢。

1. 在 cygwin 中设置环境变量

打开C:/cygwin/home/tao/.bash_profile 文件(假设cygwin 是安装在C:/cygwin 目录),在最后添加以下内容:ANDROID_NDK_ROOT=/cygdrive/d/android-ndk-r5b export ANDROID_NDK_ROOT

保存后退出;

 

   【2】集成NDK

        准备工作之后,这时你的Eclipse已经有了CDT插件了,你可以在Eclipse里编译JNI工程了。

        生成项目也是快速而灵活的。你曾经使用过 Eclipse 的生成器吗?它们是一些可配置的开关,用于执行你所配置的命令和刷新工程资源。以下是我的配置:

       右击你的项目,选择“ properties ”

       在左边的列表中选择“ Builders ”

       在右侧,点击“ New… ”按钮

       在列表框,选择“ Program ”作为配置类型;点击“ OK ”按钮,进入下一个配置对话框。

       命名 name 为“ Native Builder ”

       选择 Location 为“ c:/cygwin/bin/bash.exe ”

       “ Working Directory ”为“ c:/cygwin/bin ”

       “ Arguments ”为:

     重点是arguments :

--login -c "cd /cygdrive/d/workspace/hello-jni&&$ANDROID_NDK_ROOT/ndk-build"

这条命令的意思是:在cygwin 环境下进入你的android 项目的目录里面,执行ndk 的ndk-build 命令编译c 代码。 相当于在linux 环境中打开命令行终端,进入你的android 项目再用ndk 的ndk-build 编译c 代码。 其实,cygwin 就是对linux 环境的一个模拟,这也是为什么在晕的死的环境下搭建这个环境这么麻烦的原因了。 Cd /cygdrive/d/workspace/hello-jni 命令的作用就是进入windows 文件结构下的d 盘下的workspace/hello-jni 目录,也就是你eclipse 中android 项目的绝对路径,而$ANDROID_NDK_ROOT 就是在第一步中配置的环境变量,指向ndk 跟目录,这条命令的意思就是执行ndk-build 程序编译c 代码了,编译完了以后会在android 项目的libs 目录下生成一个.so 文件。

 

 

确保在 login 前有两个连接号, -c 后面的引号。

       接着打开“ refresh ”的 tab 面板:

       选中“ Refresh resources upon completion ”

       选择“ Specific resources ”

       点击“ Specify resources ”按钮,选择你项目的 lib 目录

       选中“ Recursively include sub-folders ”

       接着打开“ Build Options ”的 tab 面板:

       选中“ Allocate Console ”

       选中“ Launch in background ”

       选中“ Run the builder After a Clean ”

       选中“ Run the builder During manual builds ”

       选中“ Run the builder During auto builds ”

       选中“ Specify working set of relevant resources ”

       点击“ Specify Resources ”按钮,选择你项目的 JNI 目录,并包含所有的文件。

       点击“ OK ”按钮。

       这里假设: cygwin 安装在 c:/cygwin ; NDK 安装在 c:/Android_NDK ;项目工程名称是“ myapp ”。根据你的安装配置,相应地替换这些参数。 你刚刚做了什么呢?你使得,在 JNI 的目录下,每次修改任何文件, Eclipse 都通过 cygwin 自动启动 NDK 编译你的工程,并在控制台输出编译信息。当它编译完成,将自动刷新工程输出目录(lib ),并触发 ADT 生成一个新的 APK 安装包。这一切都极其简便。

posted @ 2015-07-03 08:09  Anzhongliu  阅读(121)  评论(0编辑  收藏  举报