Eclipse集成Android NDK开发环境

来源:互联网 发布:淘宝抽奖是真的吗 编辑:程序博客网 时间:2024/06/05 16:51

【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,并安装上重要的包(特别是GCCMake)。Cygwin的下载地址:http://www.cygwin.com/

 

接下来是windows下面的配置:

在晕的死下可以配置eclipsendkcygwin,使得可以在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项目的目录里面,执行ndkndk-build命令编译c代码。相当于在linux环境中打开命令行终端,进入你的android项目再用ndkndk-build编译c代码。其实,cygwin就是对linux环境的一个模拟,这也是为什么在晕的死的环境下搭建这个环境这么麻烦的原因了。Cd/cygdrive/d/workspace/hello-jni命令的作用就是进入windows文件结构下的d盘下的workspace/hello-jni目录,也就是你eclipseandroid项目的绝对路径,而$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 manualbuilds

       选中“Run the builder During autobuilds

       选中“Specify working set of relevantresources

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

       点击“OK”按钮。

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

原创粉丝点击