这几天一直在研究 Android SDK C/C++平台的搭建,尽管以前有成功在Windows XP做过,由于当时没有留下有用的记录,花了很多的冤枉时间,
今天写出来以备后用。由于Android SDK和Eclipse都是用Java编写的,因此需要先在Windows 7上安装JDK,才能进行后续操作,下载地址:
http://www.oracle.com/technetwork/java/javase/downloads/index.html 选择相应的版本下载安装。
平台的搭建可以分为两大步:
一、首先搭建好Android SDK+Eclipse+ADT环境,这个在网络上很多介绍,一步一步来一般都不会出现问题,这里简单介绍下:
1、安装 Android SDK 包,这里是下载地址:http://developer.android.com/sdk/index.html 该网站已被和谐,国内的朋友可能需要FQ,
下载的时候注意下载相应的版本。
2、在上一步安装的程序目录中找到SDK Manager启动,在 Android SDK and AVD Manager的主界面上,
然后选择 Available Packages”,点击Android Repository前面的“>”图标展开选项。
选择 Android SDK Platform-tools,revision 2,SDK Platform Android 2.3.1, API 9,revision 2,Samples for SDK API 9,revision 1 在上面的对话框中点击“Install Selected”按钮,
然后在弹出的 Choose Packages to Install”对话框中,选中“Accept All”单选框,点击“Install”按钮,将进入下载过程,下载速度视你的网速而定,请耐心等待下载完成。
下载完成后,会弹出询问是否重启ADB的对话框,点击Yes 重启。
然后创建Android 模拟器,点击“New...”按钮,将弹出“Create new AndroidVirtual Device(AVD)”对话框;
在弹出的对话框上的Name中输入:Android-AVD,Target栏中选择:Android 2.3.1 - API Level 9,SD Card框输入512, 其它选项默认,点击“Create AVD”按钮,稍等片刻就会弹出Android 模拟器窗口。
3、安装 Eclipse 集成开发环境,访问以下地址下载 Eclipse: http://www.eclipse.org/downloads/ 选择相应版本下载 选择 Eclipse IDE for Java Developers 版本。
4、安装 Android Development Tools 插件,访问网址 http://developer.android.com/sdk/eclipse-adt.html#installing,在网页中找到 ADT 的下载链接下载它,下载后解压到??Eclipse目录下即可完成安装
5、配置 Eclipse,在 Eclipse 主界面上点击 Window 菜单,选择 Preferences,在 Preferences对话框中,在左侧选中“Android”,在右侧的SDK Location 右边点击Brower按钮,选择SDK的安装路径 。
现在可以在Eclipse 上创建Android工程了,接下来我们新建一个 Android 项目 HelloMini6410,以验证开发环境是否搭建成功。
在Eclipse主界面上依次选择菜单:File->New->Project...如下图所示:
在弹出“New Project”对话框,选中:Android->Android Project,
然后点击“Next”按钮,界面上将弹出“New Android Project”对话框,在对话框中进行如下输入:
1) Project Name中输入:HelloMini6410
2) Build Target 中选择:Android 2.3.1复选框
3) Appication name中输入:HelloMini6410
4) Package name中输入:com.mini6410
5) Create Activity中输入:MainActivity
如下图所示,输入完成后,直接点击“Finish”按钮完成新建项目向导,将回到主界面:
点击Welcome后面X按钮关闭欢迎界面,将启动工程视图,
点击左侧的src ->com.mini6410 -> MainActivity.java就可以看到源代码啦:
要编译并运 HelloMini6410程序,先在Package Explorer中选中 HelloMini6410工程名称,然后点击工具栏的运 Run->Run As->Android Application即可。
将会自动启动Android模拟器,启动过程因为需要启动 Android系统,所以要耐心等待,Android系统启动完成后,将会自动运 HelloMini6410程序。
到此就可以在Eclipse IDE 下开发基于 Java 的应用程序了。下一步将是讲如何在Eclipse IDE添加 C/C++ 功能,也是本文的 重点所在。
二、创建Android NDK 开发环境。
要在Windows 平台上进行NDK的开发,需要安装cygwin(一个在windows平台上模拟linux的软件), 关于cygwin 安装比较复杂,如果是初次安装很可能不会成功,可参考有关文章,在此只给出其下载地址:http://www.cygwin.com/
1、安装 Android NDK ,可到安卓官网下载:http://developer.android.com/sdk/ndk/index.html注意选择相应的版本下载,下载后将其解压就可以了。
2、配置cygwin,用UtriaEdit打开cygwin安装目录下的home/<你的用户名>/.bach-profile文件,在后面加上
NDK=/cygdrive/<NDK安装路径>
export NDK
两行,也可以在windows 下添加 环境变量 $NDK=<NDK安装路径>。
3、安装CDT插件,CDT是一个使Eclipse支持C/C++的插件。这是下载地址:http://www.eclipse.org/cdt/downloads.php 可以通过在Eclipse 中 help > Install New Software 中安装,
现在,进入Help – Install New Software菜单项,增加一项:CDT - http://download.eclipse.org/tools/cdt/releases/helios, 等待更新项目树加载,
然后选中Programming Languages分支下的Eclipse C/C++ Development Tools,
然后点击Next按钮,按照后续的提示,接受缺省的选项,最后必须接受许可,以便让Eclipse完成更新。
完成后,你将会看到要求重启Eclipse的提示,点击Yes按钮,等待Eclipse重启。现在你的Eclipse就支持C/C++了。
4、Eclipse 的配置
Right click on your project, pick properties.
Select "builders" from the left-hand list.
Click "New..." on the right side.
Select "Program" as the configuration type.
I name mine "Native Builder"
Location - c:\cygwin\bin\bash.exe
Working Directory - c:\cygwin\bin
Arguments -
(for NDK r3):
--login -c "cd /cygdrive/c/Android_NDK && make APP=myapp"
(for NDK r4):
--login -c "cd /cygdrive/c/<myapp_project_dir> && /cygdrive/c/Android_NDK/ndk-build"
Make sure you have the two hyphens before login and the quotes after the hyphen-c
Now go to the refresh tab
Check "Refresh resources upon completion"
Select "Specific resources"
Click on the "Specify resources" button and select your project‘s lib directory.
Check "Recursively include sub-folders"
Now go to the build options tab
Check "Allocate Console"
Check "Launch in background"
Check "Run the builder After a Clean"
Check "Run the builder During manual builds"
Check "Run the builder During auto builds"
Check "Specify working set of relevant resources"
Click on "Specify Resources"
Select your project‘s JNI directory and all files within.
Now click OK on the bottom.
以上是其详细配置,来自:http://www.rbgrn.net/content/348-get-your-eclipse-integrated-ndk-on 现在就可以在Eclipse IDE中编译运行C/C++ 程序了。
现在再次编译并运行 HelloMini6410程序,先在Package Explorer中选中 HelloMini6410工程名称,
然后点击工具栏的运 Run->Run As->Android Application,模拟器成功运行。
碰到的几个问题:
1、在安装 CDT时出现下列错误:
Cannot complete the install because one or more required items could not be found.
Software being installed: Eclipse C/C++ Remote Launch 6.0.0.201002161416 (org.eclipse.cdt.launch.remote.feature.group 6.0.0.201002161416)
Missing requirement: Eclipse C/C++ Remote Launch 6.0.0.201002161416 (org.eclipse.cdt.launch.remote.feature.group 6.0.0.201002161416) requires ‘org.eclipse.rse.ui [3.0.0,4.0.0)‘ but it could not be found
最后的解决办法:下载C/C++版本的Eclipse 将plugin目录下的所有jar文件全部复制到Java版本的Eclipse安装目录中的 plugin目录中,
复制时注意如果已经存在的则跳过,重新安装CDT 问题不再出现,至于为何要这么做原因尚不清楚。
参考文章:
1、Installing the SDK http://developer.android.com/sdk/installing.html
2、Download the Android NDK http://developer.android.com/sdk/ndk/index.html
3、ADT Plugin for Eclipse http://developer.android.com/sdk/eclipse-adt.html
4、Get Your Eclipse-Integrated NDK On! http://www.rbgrn.net/content/348-get-your-eclipse-integrated-ndk-on
5、Android Beginners: NDK Setup Step by Step http://mindtherobot.com/blog/452/android-beginners-ndk-setup-step-by-step/