前言
当你打算踏入安卓领域并着手开发你的第一款安卓程序的时候,很容易就会被一大堆的开发工具所困扰。但事实上,直接下载Android官方提供的开发环境是最快的方式。感谢便捷强大的bundles,它集成了我们需要的所有开发工具。
使用这个bundles集成环境唯一不好的是其中的软件更新比较慢,还有就是可能会对其中的每个软件工具的作用不太了解。
本文会揭示开发Android程序所需要用到的主要开发工具,对于那些想要强化自己的Android项目的人,本文也会提供一个对Google Play Services的简单介绍,你可以往自己的APP中加入Google+和Google Maps的一些功能,而且这也是一个能让你的APP赚钱的一种方式。(注:选择工具的同时,也要选择好对应的教程和书籍,推荐这篇文章《Android开发之旅:书籍、教程、工具和各种干货!》)。
然而,在你安装安卓开发工具之前,你首先要决定到底使用什么IDE作为开发环境。
1、使用Eclipse还是Android Studio?
直到目前为止,Eclipse加上ADT插件仍然是比较推荐的开发环境,而Google在2013 I/O大会上发布了自己的IDE环境,叫Android Studio,专门为Android开发而设计。
Android Studio的发布使得Android开发者的心情更复杂了,他们必须对两个IDE权衡利弊,决定哪一个更适合自己。
选择Android Studio还是Eclipse关键是要看你想在IDE中寻求什么。
使用专一功能还是功能丰富的IDE?
Eclipse提供了一个通用的开发环境,可以使用插件的形式扩展,让你可以使用同一个IDE,不同的编程语言进行程序开发。
对于安卓开发来说,Eclipse使用ADT进行扩展,虽然ADT是为安卓开发而设计的,但是Eclipse却有很多与开发安卓APP无关的一些特性。
如果你是一个有经验的Eclipse用户,那么对于你来说,已经熟悉了Eclipse的复杂强大的用户体验,这是一个很好的优势。但是如果你刚接触Eclipse,那么你就要花点时间想想看作为一个安卓开发者,你需要什么,什么才是好的用户体验。
这就是Android Studio相对于Eclipse的优势所在了,Android Studio有一个简单的用户体验和一系列的特性,但是所有特性都是为开发Android APP而准备的。
选择开发社区成熟的还是独立发展的IDE?
Eclipse是一个成熟的IDE,它拥有一个强大的社区支持,这就意味着当你需要帮助的时候,你不会无处可寻,比如博客,学习指南,Google小组,视频教程,还有论坛,或者Eclipse、ADT的扩展文档等。
相比Android Studio,这方面对比就非常鲜明,作为一个新的项目来说,Android Studio还没有时间去简历一个类似的完善的社区系统。尽管一些基于Eclipse的资源也可以在Android Studio中使用,但是如果是针对Android Studio的特定问题的话,这些资源也就没有什么用了。
要稳定性还是新技术?
作为一个成熟的IDE,Eclipse是一个稳定可靠的软件,而Android Studio当前只是预览版,而且还带有免责声明,不保证开发过程中不会遇到bug和缺失一些特性。
Android Studio拥有很多新特性,正如你所期待的崭新的IDE那样,但是因为出现太晚,也就显得不够成熟了。这需要根据你自身的情况来考虑,但是如果没有Android Studio的发布将会是一个大遗憾。假如你只是开发自己的小型个人项目,那倒无所谓。但是如果你在寻找一款IDE来开发一个商业项目并且冒着巨大的商业风险的话,那新来的Android Studio也许还不是一个很好的选择。
你对Gradle熟悉吗?
Android Studio内部使用Gradle插件,最终也是用它进行自动编译,测试,发布还有部署Android APP。
如果你对Gradle还不熟,或者还不想花精力去学Gradle,那么你还是去用Eclipse吧,因为Gradle和Android Studio集成度很高,你很难去使用别的编译工具。
总结
选择Android Studio还是Eclipse这个没有确切的答案,这取决于个人喜好,比如对软件的熟悉程序,还有学习新技术的成本,以及你想开发什么样的应用等等。
例如,如果你的时间很多,也愿意学习新的技术的话并喜欢Gradle的话,也许Android Studio更适合你。而如果你是一个有经验的Eclipse用户,并且时间很少,也没有太多精力去熟悉一个新的IDE的话,那么,Eclipse将是你的最好选择了。
不管是使用Android Studio还是Eclipse,只要配带ADT插件,只要使用了集成化的bundles,这些工具其实都差不多,以Android SDK著称。
2、什么是Android SDK?
Android SDK中包含了各种开发Android APP基本的工具,从类库到源码,示例工程还有很多。详细了解Android SDK已经超过了本文的范围,不过有部分工具对于开发Android APP来说是基本的,我们需要尽可能快的了解它们。
模拟器
Android SDK中包含了一个Android设备模拟器,可以让你测试Android程序,而不用特地去买一个Android设备。正如其名,Android的模拟器可以通过创建不同的AVD(Android Virtual Device)来模拟各种Android真实的设备,在开发Android项目的过程中,我们会创建各种AVD,来模拟各种不同的Android设备。
AVD管理器
AVD 管理器是你要创建,编辑,修改,删除和运行AVD的东西,AVD管理器中定义了一堆的已知的设备,方便选择进行Android真实设备的模拟,但是不清楚它内部的硬件、软件详情。
SDk管理器
SDK管理器会对工具,平台,API还有其它一些组件进行分离,划分到不同的文件夹中,我们可以通过SDk管理器对这些工具进行下载。很多文件夹的工具是必须的,甚至是在下载SDK的时候就会自动安装的,但是也有很多工具是可选的,如果你只想开发具体的某一种Android程序,那么可以单独选择进行下载。
DDMS
DDMS,即Dalvik Debug Monitor Server,它是一个调试工具,可以进行各种调试任务,比如跟踪当前线程中的内存对象,查看当前进程中使用的内存大小等。
DDMS中还包含了一个Detailed Network Usage选项,可以记录程序中的网络请求,分析APP怎么传递数据。尽管Android Studio和Eclipse的DDMS有差不多,但是打开方式不一样,Eclipse可以通过选择Window>Open Perspective>DDMS打开,而Android Studio可以点击工具栏中的Monitor按钮(按钮带有清晰的安卓图标)。
Lint工具
Lint是一个代码检查工具,可以通过检查源文件的bug和可以优化的地方,帮助你改善代码质量。
尽管Lint已经包含在Android的SDK中,但是怎么运行起来取决于你使用Android Studio还是Eclipse。在Android Studio里面,你可以通过Analyze>Inspect Code来运行Lint。在Eclipse中,Lint是自动运行的,只要你更改项目,比如更改xml布局文件或者在导出项目的时候都会自动运行。
adb(Android Debug Bridge)
adb是一个很出名的工具,它可以让你通过输入一些命令来操作很多调试任务,可以在安卓的官方文档中找到adb的命令表。
不管是使用Android Studio还是使用Eclipse,以上说的这些工具都是必需的,而剩下的一些工具,就要根据你使用的IDE决定了。
3、Eclipse开发工具包
先不和Android Studio对比,Eclipse配合ADT插件为开发者提供了很多很多便利,你可以下载集成化的bundles环境,里面就包括了SDK还有以下的一些工具。
Eclipse
这是可以通过插件扩展来定制化的通用开发环境。
ADT插件
Android Development Tools插件进一步扩展了Eclipse开发环境,使之带有Android开发特色,其中包括项目创建向导,它可以自动生成Android项目的基本文件结构,还有自定义的XML编辑器可以检查你的资源文件盒manifest文件是否正确。
ADT插件还能够为很多SDK工具提供一个可视化的用户体验,当然也可以使用命令行工具,比如之前讨论过的ADB和DDMS。
安装带有ADT的Eclipse作为开发环境是最直接的步骤:
- 首先要下载ADT bundle
- 下载完成后,解压ADT压缩包
- 解压后打开它,它以adt-bundle命名,后面跟着版本号
- 打开Eclipse的文件夹,双击Eclipse应用图标启动Eclipse程序
- Eclipse所有项目都存在workspace中,在Windows里,默认在 C:\Users\Name\Documents\workspace,可以更改,然后点击确定。
Eclipse已经集成了ADT和Android SDK,也就是说只要启动Eclipse,就可以开始开发你的第一个Android程序了。
4、Android Studio开发工具包
尽管现在的Android Studio只是一个早期预览版,但是它有很多不错的特性,先不讨论Google官方有没有推荐。如果你下载了Android Studio的bundle集成环境,那么你相当于就有了Android的SDK和以下的开发组件。
Android Studio
在集成开发环境领域,Android Studio是唯一一个专为开发Android APP打造的IDE。
Gradle
Android Studio带有一个内置的Gradle插件,使用它作为自身的构建系统。我们可以使用Gradle进行自定义,配置,扩展我们的项目构建流程,并解决本地文件、远程仓库之间的依赖关系。
Gradle可以从一个Android项目中生成尽可能多的apk去兼容不同的设备。
如果你决定使用Android Studio的话,可以从安卓的开发网站上下载最新的版本,在Windows上,可以直接运行Android Studio程序,然后就可以开发Android APP了。
5、Google Play服务
本文已经介绍了Android SDK工具并演示了怎么安装不同的IDE集成环境。但是,如果你想开发一款用户体验丰富的APP,那么你可可能需要为你的开发环境加入Google Play服务。
Google+
使用Google+可以丰富你的APP的内容,它可以让你能够提供个人的服务(从他们的Google+账户中拉取信息到你的APP中),例如,你可以使用Google+的账户信息根据名字去问候用户,或者使用它们的Google+的图片作为他们的头像。
不仅如此,你的APP还可以推送消息到Google+上,例如,让用户发送他们在其他APP中的数据,游戏的得分到Google+的服务器上,然后向其他Google+的联系人发送邀请。
Google Map
我们可以把谷歌地图的内容集成到APP中,包括3D地图,混合地图,甚至是Google街景内容,要注意的是Google Map需要Android的API提供一个API的key,可以从Google API的管理控制台上获取。
Google Play的支付服务
这项服务可以让你的APP可以通过售卖信息内容来赚钱。这些信息可以下载,比如是图片或者视频,或者其它可视化的内容,可以是游戏升级,解锁新技能,或者游戏商品(加钻石或者增加生命值)。
Google Play会为你处理这个流程,所以你不用担心验证和支付这些复杂的流程,但需要注意它要求你必须拥有一个Google Play 开发者账户,还有Google钱包交易账户。你还需要安装Google Play Billing类库。这个可以通过运行SDK管理器,打开Extra,选择Google Play Billing library,然后点击安装就可以了。
这是Google的一项可选服务,可以从这里了解到关于Google Play Service的更多信息。 official Android documentation。
在使用Google Play服务之前,你需要先下载额外的包,通过以下步骤:
- 在IDE中打开Android SDK管理器
- 展开Extras选项
- 选择Google Play Service,如果你使用的是Android Studio的话,那么你需要安装一个Google Repository,它也可以在Extras分类中找到。
- 点击安装后,SDK管理器就可以安装Google Play服务了。
总结
不管是选择Eclipse还是Android Studio作为IDE,你都必须对所选择的工具的生态系统有一个不错的理解,然后把这些工具配合IDE进行使用。
如果你已经看完本教程,那么你的开发环境应该是已经装好了,剩下的事就是创建第一个Android项目,然后开始你的Android开发之旅。