02 February 2015
就我经历过的Android官方开发工具: 独立的eclipse adt插件到整合在一起的Android Development Tool,再到现在正式推出的Android Studio。可能再往前推会有Ant Maven之类的开发阶段,可惜的是我并没有经历过那个时代。遥想当年Android Studio 0.0.1beta版刚推出的时候还有点小激动呢,但是使用起来各种那啥,bug也是略多,公司电脑配置还卡…真是留下了深刻印象。
有点跑题了,话说回来,原本占稳Android官网Tools第一条的Android Development Tool已经被Android Studio彻底地取代。集成版的eclipse + adt插件也无法在官网找到下载链接,仅剩下一个孤零零的adt插件下载。从种种迹象表明,Android官方已经将IDE的重心转移到了Android Studio,ADT可能会被慢慢地磨灭在岁月之中。所以呢,身为一只机智的程序猿,当然也是要适当地学习一下Android Studio的使用。
Android Studio是基于IntelliJ IDEA的官方Android应用开发IDE。
Android Studio提供了如下功能:
总结一下,就是:
与Eclipse类似,在项目视图中可以看到项目相关的文件列表,以及用于快速访问源文件。而且可以更好地帮助开发者使用基于Gradle的构建系统。
Android Project View:
Android项目视图在Gradle Scripts的第一级展示所有的构建文件。每个项目模块以文件夹形式出现在项目视图的第一层级,并包含了以下三种元素:
Android Studio的文件结构与Eclipse的不同。Android Studio的每个Project(项目)可以包含一个或多个application modules(应用模块)。每个应用模块的文件夹包含了该模块的完整的源代码文件集合,包括:src/main目录、src/androidTest目录、资源文件、build file以及Android manifest。
个人理解:Eclipse中的Workspace类似于Android Studio的Project,Eclipse中的Project类似Android Studio中的Application Module。
可以通过ALT + INSERT快捷键创建文件(windows 和 linux),COMMAND + N(MAC)。
Android Studio的构建系统将原本Eclipse的ANT替换为了Gradle,可以通过Android Studio集成的菜单界面或者使用独立的命令行来运行该构建系统。可以用于:
这种构建系统的灵活性可以让你在不必更改源代码的前提下达成上述目标。
在Android构建系统中,applicationId 属性用于唯一标记需要发布的应用包,在build.gradle文件中设置。
apply plugin: 'com.android.application'
android {
compileSdkVersion 19
buildToolsVersion "19.1"
defaultConfig {
applicationId "com.example.my.app"
minSdkVersion 15
targetSdkVersion 19
versionCode 1
versionName "1.0"
}
...
applicationId只在build.gradle文件中设置,而不是在AndroidManifest.xml中。
构建系统允许你在构建多个不同的包的时候标记不同的产品偏好和构建类型。当指定了产品偏好的时候,该构建类型的applicationId将会添加该后缀。
productFlavors {
pro {
applicationId = "com.example.my.pkg.pro"
}
free {
applicationId = "com.example.my.pkg.free"
}
}
buildTypes {
debug {
applicationIdSuffix ".debug"
}
}
....
包名(package name)仍需在清单文件中指定。用于关联R类和处理相关的Activity和Service。
package="com.example.app">
跟Eclipse ADT相差不多,略
如标题,略
Lint做一些新的检查工作以确保:
在Android Studio中,你可以为指定的构建作业执行Lint,或者为全部的构建作业执行Lint。可以在build.gradle文件中添加Lint选项(lintOptions)属性。
android {
lintOptions {
// set to true to turn off analysis progress reporting by lint
quiet true
// if true, stop the gradle build if errors are found
abortOnError false
// if true, only report errors
ignoreWarnings true
直观来看,与ADT的差别就是在于可以在同一个屏幕中编辑布局XML,以及预览该布局。
跟ADT相似,略
嗯,无非是click click,略过
多语言化的插件工具,估计就算正式上线,由于种种原因也很难用的了。
嗯,必须的
可以跟GitHub更好的交互,如导入Sample,搜索开源项目等。
从整体来看,Android/Google的发力方向是客户端–>客户端联合云服务–>云服务,相信在未来,从开发到调试到发布到使用都会是在云端完成。