Android,早就想了解的一个智能手机系统了,在今年年初,公司要把业务推广到手机上,我有幸参与开发了iCalendar的时候,让我亲身体验了一把iPhone,iPhone是没指望买了,贵!买它我还不如买台笔记本呢!
为了寻找同样有着极强用户体检的智能手机系统,哝,Android!关键是,Java开发,还可以用Eclipse,哇,没有比这更好的了。利用闲暇的礼拜天,终于对它的一些基本概念有了个认识,并且呢,也搞了个简单的HelloWorld示例。这一切的资料来源都出自Internet,当然了,大部分都来自Android官网的Android Developers部分:http://androidappdocs.appspot.com/index.html,此次的随笔意在能让跟我一样入门的哥们儿,能搭配一个Android开发环境。在开始之前,请确认你的机器上已安装了JDK5.0以上版本。
OK,随笔完毕,现在,进入正式主题吧:
首先,了解了解一些Android方面的概念吧
1)SDK(Software Development Kit)
2)ADT(Android Development Tools)
3)AVD(Android Virtual Devices)
带着这三个概念,让我们开始Android入门之旅吧
要开发运行Android,必须得要有个能够运行我们所开发的程序的东西才行吧,Java要JDK才能运行对吧?!OK,SDK隆重登场了。这个软件开发工具包就是要编译和运行Android应用程序的依赖,现让我们来下载和安装它:
1、登陆http://androidappdocs.appspot.com/sdk/index.html,你会看到各种操作系统支持的Android SDK,在这里,我们选择Windows系统支持的SDK:android-sdk_r05-windows.zip 。下载到你本地磁盘的任何你喜欢的目录下(当然了,乱放不是一个好的习惯,通常一个好的习惯,就是把一类的东西归档,在这里我下载到G:\android目录下)。下载以后,直接解压,解压以后,会看到add-ons、platforms、tools这三个目录,还有一个是仅windows版本才有的SDK Setup.exe 。这些待会儿再说,现在将tools的路径编辑在Path下,比如G:\android\android-sdk-windows\tools,这样呢,下载和安装SDK算是完成了。
2、开发Android最基本的运行依赖有了,现在呢,我们得要给开发配备一个不错的开发工具了,Eclipse,不错的热插拔开发工具,我们都知道,本机Eclipse里是不自带Android项目的,所以,我得装插件啊,至此,ADT is coming now!ADT是为使用Eclipse开发Android应用程序而安装的一款插件,费话不多说了,来看看具体的安装过程,Eclipse的最低版本要3.4,官方上推荐的是:Eclipse Classic 3.5.2(168M)。更详细的介绍,可参见:http://androidappdocs.appspot.com/sdk/eclipse-adt.html,我在这里,使用的是MyEclipse6.5:
“help”-->“Software updates”-->“Find and Install”-->“Search for new features to install”-->“next”-->选择“New Remote Site”-->Name:Android Plugin,URL: https://dl-ssl.google.com/android/eclipse/ --> “OK”,如果一切顺利的话,那么,ADT算是安装完成了!
3、开始我们的HelloWorld程序吧:
等等,AVD还没有说明,都开始HelloWorld程序了?!现在来说明一下,刚刚我们有下载 windows SDK,不知道你们有没有发现add-ons、platforms里面都是空的,而且也没有我们想像中的有说明文档或者什么例子之类的东西,实际上呢,刚刚那个SDK里面仅包含了 Android SDK and AVD Manager(它是总管的,安装更新组件,全部是由它来搞),并没有Android platform(..Android2.0、2.1)和其它的一些组件,要运行我们的应用程序呈现给用户看,我们得需要一个呈现平台,这个呈现效果平台的背后,就是这个Android platform,类似于我们的操作系统,这里我选择的是Android2.1。再来说说Android Emulator(Android手机模拟器),Android是一款手机智能系统,为了测试、运行我们开发的应用程序,总归是不能时时用搭载Android系统的手机来测试吧,这个Android Emulator就是为了模拟手机环境的东东了。与真实的手机环境完全的相似,当然不能打电话发信息了(Android Emulator介绍:http://androidappdocs.appspot.com/guide/developing/tools/emulator.html)。在启动Android Emulator之前呢,我们必须得创建AVD(哎呀,终于出现了)。AVD定义了Android Emulator需要使用的图像以及一些设定,也就是Emulator能显示的东西,基本上都是由AVD所提供定义的(http://androidappdocs.appspot.com/guide/developing/tools/avd.htm)。
真够多的,不过概念算是全部理清楚了。
在开始HelloWorld工程之前,首先先开启Android SDK and AVD Manager这个大总管,确定安装的组件都已成功安装(platform、AVD),启动Android SDK and AVD Manager有如下三种方式:
1)如果你是用Eclipse开发Android程序,并且也已经安装了ADT插件,那么“Window”-->“Android SDK and AVD Manager”,搞定;
2)Windows SDK,双击SDK Setup.exe,搞定;
3)命令行方式,任何操作系统,进行<SDK>\tools目录,键入命令:android,搞定。
以上三种方式,都会弹出Android SDK and AVD Manager窗口。进入窗口,对左边的菜单进行简要的说明:
“Virtual Devices”:新建AVD(安装之前,确认Available Packages里的组件已安装,新建名为:my_dav);“Installed Packages”:已安装的组件包;“Available Packages”:可下载安装的组件包(如果你不确认安装哪个,请参考:http://androidappdocs.appspot.com/sdk/installing.html#which,建议全部选中,安装需要一点时间)。
所有的一切都已准备完毕了,只欠东风了。
具体的HelloWorld的开发,我也就不在此费口舌了,可参考官方:http://androidappdocs.appspot.com/resources/tutorials/hello-world.html,相当的详细。附上我的工程压缩包HelloAndroid.rar
运行时,右击项目“Run As”-->“Android Application”。
需要特别说明的是,启动Android Emulator是很慢的,大约一分钟左右,为此,粘贴出控制台正确的打印信息:
[2010-05-11 20:43:25 - HelloAndroid] ------------------------------ [2010-05-11 20:43:25 - HelloAndroid] Android Launch! [2010-05-11 20:43:25 - HelloAndroid] adb is running normally. [2010-05-11 20:43:25 - HelloAndroid] Performing com.example.helloandroid.HelloAndroid activity launch [2010-05-11 20:43:25 - HelloAndroid] Automatic Target Mode: launching new emulator with compatible AVD 'my_adv' [2010-05-11 20:43:25 - HelloAndroid] Launching a new emulator with Virtual Device 'my_adv' [2010-05-11 20:43:29 - HelloAndroid] New emulator found: emulator-5554 [2010-05-11 20:43:29 - HelloAndroid] Waiting for HOME ('android.process.acore') to be launched... [2010-05-11 20:45:45 - HelloAndroid] HOME is up on device 'emulator-5554' [2010-05-11 20:45:45 - HelloAndroid] Uploading HelloAndroid.apk onto device 'emulator-5554' [2010-05-11 20:45:55 - HelloAndroid] Installing HelloAndroid.apk... [2010-05-11 20:46:58 - HelloAndroid] Success! [2010-05-11 20:47:03 - HelloAndroid] Starting activity com.example.helloandroid.HelloAndroid on device [2010-05-11 20:47:13 - HelloAndroid] ActivityManager: Starting: Intent { act=android.intent.action.MAIN cat=[android.intent.category.LAUNCHER] cmp=com.example.helloandroid/.HelloAndroid }
如何发现有红色的部分,请参考是不是这个问题:
Debug记录: Eclipse控制台有两行红色信息: [2010-05-09 21:49:15 - HelloAndroid] WARNING: Application does not specify an API level requirement! [2010-05-09 21:49:15 - HelloAndroid] Device API version is 7 (Android 2.1) 解决:只需要在AndroidManifest.xml文件里的<manifest> </manifest>之间加入<uses-sdk android:minSdkVersion="7"></uses-sdk>即可, minSdkVersion即对应API的版本。