视频1 视频21 视频41 视频61 视频文章1 视频文章21 视频文章41 视频文章61 推荐1 推荐3 推荐5 推荐7 推荐9 推荐11 推荐13 推荐15 推荐17 推荐19 推荐21 推荐23 推荐25 推荐27 推荐29 推荐31 推荐33 推荐35 推荐37 推荐39 推荐41 推荐43 推荐45 推荐47 推荐49 关键词1 关键词101 关键词201 关键词301 关键词401 关键词501 关键词601 关键词701 关键词801 关键词901 关键词1001 关键词1101 关键词1201 关键词1301 关键词1401 关键词1501 关键词1601 关键词1701 关键词1801 关键词1901 视频扩展1 视频扩展6 视频扩展11 视频扩展16 文章1 文章201 文章401 文章601 文章801 文章1001 资讯1 资讯501 资讯1001 资讯1501 标签1 标签501 标签1001 关键词1 关键词501 关键词1001 关键词1501 专题2001
Eclipse下安装Android开发环境NDK和CDT
2025-09-29 08:59:35 责编:小OO
文档
Eclipse下安装Android开发环境:NDK和CDT

 (本文根据互联网资料收集整理,并经过作者亲自验证)

cheungmine

本文记录了最新的eclipse版本helios如何搭建Android的JDK和NDK的开发环境。并提供了整合NDK和cygwin的方法。为了使用户不用切换到cygwin命令行去编译NDK的代码,给出了配置eclipse下的NDK环境。最后给出如何配置eclipse上的C/C++开发环境——CDT。本文还提供了一个最简单的示例说明NDK的使用方法。

关键词:eclipse,Android,Android SDK,cygwin,NDK,CDT

1 准备工作

1.1Windows XP 32位环境PC机,接入宽带互联网。

1.2安装JDK

下载地址:

https://cds.sun.com/is-bin/INTERSHOP.enfinity/WFS/CDS-CDS_Developer-Site/en_US/-/USD/ViewProductDetail-Start?ProductRef=jdk-6u12-oth-JPR@CDS-CDS_Developer

下载之后得到:jdk-6u12-windows-i586-p.exe。安装即可。本例子是安装在:D:\\JavaHome。正确安装之后,系统环境变量中应包含如下设置(假定目录和本文一样):

JAVA_HOME=...

D:\\JavaHome\\jdk1.6.0_12

CLASSPATH=...

%JAVA_HOME%\\bin;.;%JAVA_HOME%\\lib;%JAVA_HOME%\\lib\\dt.jar;%JAVA_HOME%\\lib\ools.jar;;C:\\ProgramFiles\\Java\\jre6\\lib\\ext\\QTJava.zip;D:\\OraClient10g\\jdbc\\lib\\classes12.zip

Path=

%JAVA_HOME%;.;%JAVA_HOME%\\bin;...

1.3安装eclipse(HEILOS)

下载地址:http://www.eclipse.org/downloads/

下载:Eclipse IDE for Java EEDevelopers, 206 MB

得到:eclipse-jee-helios-SR2-win32.zip

Eclipse不需要安装,解压eclipse-jee-helios-SR2-win32.zip到:D:\\helios。

启动:D:\\helios\\eclipse.exe。工作空间为:D:\\helios\\workspace

这时可以更新eclipse:

打开eclipse;菜单Help->Check For Updates,然后检查更新。选择必要的组件更新eclipse。

2 安装Android 开发工具

2.1安装Android SDK

在下面的地址中下载:android-sdk_r04-windows.zip

http://rghost.net/download/817413/e08025da54d8e38f7e97bcdce6117620a33c054e/android-sdk_r04-windows.zip

解压android-sdk_r04-windows.zip到:D:\\helios\\android-sdk-windows。

更新android-sdk到最新:

eclipse菜单Help->Check For Updates,进行必要的更新。

eclipse菜单Help->Install New Software:

Work with:

http://dl-ssl.google.com/android/eclipse/site.xml

点击按钮[Select All]

点击按钮[Next>]

2.2配置Android SDK

1)设置引用:

eclipse菜单->Window->Preferences:

左边选择+Android,右边填入:

SDK Location:D:\\helios\\android-sdk-windows

点击按钮[Apply]

2)更新Android SDK:

eclipse菜单->Window->Android SDK and AVD Manager

右边应该显示上一步设置的SDK Location:D:\\helios\\android-sdk-windows

点击左边的Available packages,选择要更新的包。

点击左边的Installed Packages,按 [Updated All...]可以更新全部已经安装的包。

2.3 创建Android虚拟机:

eclipse菜单->Window->Android SDK andAVD Manager,左边选择:

Availabledevices,右边按[New...]按钮,弹出Create new Android VirtualDevice (AVD)对话框:

Name:HTC-G7

Target:Android 2.2 - API Level 8

SD Card:

       Size=1000 MiB

按[Create AVD]按钮。这个AVD要在每次部署前启动(eclipse菜单->Window->Android SDK andAVD Manager,左边选择:Availabledevices,右边选择HTC-G7,按[Start...]按钮启动AVD。)

2.3配置cygwin 和Android NDK

以往,使用GCC给ARM写程序很麻烦,他的交叉编译环境是需要在Linux下运行的。而其他的很多工具又不得不在Windows下使用,于是人们不得不来回切换操作系统,很麻烦,也浪费了大量宝贵的时间。CYGWIN的出现总算解决了这一问题。

CYGWIN是一个Windows操作系统下类Linux的运行环境,包括一个用于提供Linux API的DLL和一系列的linux工具。在http://cygwin.com/可以下载到最新版本。

下载完Cygwin的安装程序setup.exe,可以安装了。在安装之前首先确定你要安装的那个驱动器上有3GB的空间。Cygwin在安装的时候可以选择直接从网络安装、下载安装包和本地安装,我是选的下载安装包,将需要的东西下到本地磁盘里,再从本地安装,下一步选择安装的位置,设置网络连接方式并选择下载站点,之后就是选择需要安装的包,有四种安装状态分别是Default、Install、Reinstall、Uninstall,如果你不能确定你所需要的环境,那就把ALL上的状态设为Install,选择全部安装。

1)安装cygwin

下载:http://www.cygwin.com/setup.exe。安装时选择ALL以免遗漏gcc等工具。漫长的等待(基于网速情况,也许一夜)之后,cygwin下载完毕。解压到:D:\\cygwin。然后手动配置Windows环境变量,增加D:\\cygwin;D:\\cygwin\\bin到Path:

Path=...;D:\\cygwin;D:\\cygwin\\bin

验证:调出命令窗口cmd,键入命令:cygwin回车,启动cygwin工具窗口,运行:

make –v

验证cygwin是否正确:

GNU Make 3.81

Copyright (2006) Free Software Fundation Inc.

...

下载android-ndk-r4-windows.zip安装包,下载地址:

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

解压缩到:D:\\helios\\android-ndk-r4。

写本文时,已经有最新的:android-ndk-r6-windows.zip

如果使用android-ndk-r6,请注意更改路径的配置。

2)整合cygwin和Android NDK

编辑文件:D:\\cygwin\\home\\Administrator\\.bash_profile,在末尾增加:

# Android NDK

NDK=/cygdrive/d/helios/android-ndk-r4

export PATH="$NDK:$PATH"

       保存后重新启动cygwin(开始->运行:cygwin)。

 

3)使用NDK编译NDK示例:

       启动cygwin;

进入d:\\helios\\android-ndk-r4\\samples\\hello-jni\\jni 目录(或者相应工程的  *.C  或 *.CPP 文件所在目录内):

       #cd /cygdrive/d/helios/android-ndk-r4/samples/hello-jni/jni

执行ndk-build 编译即可:

       #ndk-build

3 Android NDK工程示例

下面演示如何创建一个最简单的NDK项目,并将cygwin+NDK整合到eclipse中。

1)启动eclipse,菜单

File->New->Project->+Android--AndroidProject

创建项目,按[Next>]按钮弹出New Android Project对话框,输入下面的内容:

Priject name:ndkfoo

勾选Android 2.2

Applicationname: ndkfoo

Package name:com.mine.ndkfoo

勾选Create Activity: ndkfooActivity

Min SDK Version:8

按[Finish]按钮。

2)在项目ndkfoo下创建jni目录(右键项目->New->Folder)。

3)在jni目录下面创建Android.mk文件,内容如下:

LOCAL_PATH := $(call my-dir)

include $(CLEAR_VARS)

# Here we give our module name and sourcefile(s)

LOCAL_MODULE  := ndkfoo

LOCAL_SRC_FILES := ndkfoo.c

include $(BUILD_SHARED_LIBRARY)

4)在jni目录下面创建ndkfoo.c文件,内容如下:

[cpp] view plaincopyprint?

1.#include   

2.#include   

3.  

4.jstringJava_com_mine_ndkfoo_ndkfooActivity_invokeNativeFunction(JNIEnv* env, jobjectjavaThis) {  

5.    return (*env)->NewStringUTF(env, "Hello from nativecode!");  

6.}  

5)修改ndkfooActivity.java文件(ndkfoo/src/com.mine.ndkfoo)如下:

[java] view plaincopyprint?

1.package com.mine.ndkfoo;  

2.  

3.import android.app.Activity;  

4.import android.app.AlertDialog;  

5.import android.os.Bundle;  

6.  

7.public class ndkfooActivity extendsActivity {  

8.    //load the library - name matches jni/Android.mk  

9.    static{  

10.        System.loadLibrary("ndkfoo");  

11.    }  

12.  

13.    //declare the native code function - must match ndkfoo.c  

14.    privatenative String invokeNativeFunction();  

15.  

16.    /** Called when the activity is first created. */  

17.    @Override  

18.    public void onCreate(Bundle savedInstanceState) {  

19.        super.onCreate(savedInstanceState);  

20.        setContentView(R.layout.main);  

21.  

22.        // this is where we call the native code  

23.        String hello = invokeNativeFunction();  

24.        newAlertDialog.Builder(this).setMessage(hello).show();  

25.    }  

26.}  

6)每次编译ndkfoo项目之前必须先使用cygwin的ndk-build命令行编译ndkfoo.c:

启动cygwin;

进入D:\\helios\\workspace\\ndkfoo\\jni目录:

# cd /cygdrive/d/helios/workspace/ndkfoo/jni

执行ndk-build 编译即可:

# ndk-build

libndkfoo.so编译成功。

7)回到eclipse,重新编译ndkfoo项目。部署到AVD上(必须首先启动AVD->HTC-G7)。可以看到一个最简单的Android NDK程序正确运行到HTC-G7虚拟机中。

4 整合NDK和Eclipse

在eclipse中选中上面创建的ndkfoo项目, 按Alt+Enter,显示 Properties for ndkfoo窗口:

左边选Builders,右边按[New...]按钮,弹出的对话框中双击Program图标,在Edit Configuration 窗口中填入:

Name:NDK_Builder(这个名词是任意的)

切换到Main Tab:

Location:

D:\\cygwin\\bin\\bash.exe

Working Directory:

D:\\cygwin\\bin

Arguments:

--login -c "cd/cygdrive/d/helios/workspace/ndkfoo/jni && $NDK/ndk-build"

切换到Refresh Tab,勾选以下项:

Refresh resources upon completion.

The entire workspace

Recursively include sub-folders

切换到 Build Options,勾选以下项:

AllocateConsole

After a Clean

Buring manual builds

During auto builds

During a Clean

Spacify working set of relevant resources

这样我们就把NDK和eclipse整合到一起。当更改ndkfoo.c文件之后,就不用切换到cygwin命令窗口去执行ndkfoo的编译了。

5 安装Eclipse C/C++开发工具包CDT

这个话题和NDK关系不大。

进入下面的地址页面:

http://www.eclipse.org/cdt/downloads.php

可以看到:

CDT 7.0.2 for Eclipse Helios

Eclipse package: EclipseC/C++ IDE Helios SR2.

p2 software repository: http://download.eclipse.org/tools/cdt/releases/helios.

记下URL:

http://download.eclipse.org/tools/cdt/releases/helios

打开eclipse菜单Window->Install new Software,

Work with:

http://download.eclipse.org/tools/cdt/releases/helios

按按钮[Select All],[Next>],安装和更新CDT。完成之后,就可以在eclipse中创建、编辑、编译、调试C/C++程序了(但这样的程序并不天生是一个Android NDK程序。更多的功能选项要逐步探索)。下载本文

显示全文
专题