Android Studio使用手册
“工欲善其事必先利其器”
作为一个Android开发人员来说,一款好的开发工具也是相当重要的,在相当长的时间礼,Google都是基于Eclipse以ADT插件的形式来开发Android应用的,Eclipse可谓是经典到不能再经典的开发工具了,他几乎什么都可以干,也应用很广泛,三十由于近几年来Android市场的日益扩建,Eclipse似乎有点吃力了,而且平台限制也大,于是,Google在2013年的I/O开发者大会上正式推出了这款杀手级的IDE——Android Studio。
一,初次体验
我也是在1.1的版本就开始接触Android Studio(以下简称AS),刚开始的时候并没有觉得他有什么好用,只是觉得界面上改进很大,挺炫酷的,而且是Gradle云云之类的,但是实际体验,并没有很大的收益,况且作为一个一直用eclipse的人,初次使用还是稍稍有些不习惯,就此,就没有关注了,随后更新1.2,1.3,1.4,真正关心他是在谷歌宣布停止ADT的更新的时候,我才意识到,谷歌要放大招了,谷歌把AS指定为官方的开发工具,这个时候,AS才是真正走向稳定的时候,更别说现在的2.0了,而且现在你去Github上,基本上最新上传的工程大多数是AS生成的,我们就用他来开启我们的编程之路!
二,Android studio的配置
1.我们先去官网下载一个(其他渠道也是可以滴),地址是:http://developer.android.com/sdk/index.html
三.安装启动
直接Next> 知道安装成功,刚开始的嘶吼要进行一些初始化可能需要联网下载而且会下载几G的SDK,安装完成之后
四.主界面一览
我们新建一个项目进去看看
基本都情况就是这样,所以的东西都变得很方便了,那我们来谈谈其他好玩的东西吧!
五:AS配置设置
想说,这才是AS最迷人的地方
1.主题 Setting-Appearance-Theme(黑色的主题很受欢迎)
2.字体以及字体大小,Setting-Editor-Colors&Fonts-Font,我们要新建一个自己的区间,然后设置文字的大小以及字体
3.快捷键Setting-Keymap(可以选择各种各样的快捷键,无论你是从OS X 或者是Eclipse转过来的都是可以熟悉的)
4.快捷提示
Eclipse上,你鼠标悬浮在代码上回弹出提示框,但是再AS上是没有的,因为如果电脑配置不是很高的话,这样会让界面很卡(当然,配置高,用AS也有点卡,哈哈),如果你想打开这个功能我们可以进Setting-General,把show quick doc on mouse move勾上就可以了
5.高级代码提示
AS还有一个高级的代码提示,就是你敲代码的自动提示,看起来很炫酷,可是需要区分大小写,在Eclipse上是不区分的,当然,我们也可以设置在Setting-Editor-General-Code Completion的Case sensitive completion中选择None,就可以了!
6.自动导包
Setting-Editor-Auto Import-Java 把勾给勾上就可以了
到这里,我们的基本配置就基本上搭建好了
六.插件
AS上的插件还是很有意思的,如果你运用的好的话,会给你添加很多助力,但是用不好,也没关系,你也不一定要用
注明:以下内容大部分来自于网络和其他地方
Setting-Editor-Plugins在线下载,如果没有,也可以离线安装。离线安装的方法自己搜索哟!
ButterKnife视图注入插件,如果你的Activity布局里面有很多组件,写一堆的findViewById岂不是很烦人,ButterKnife解决了这个烦人的问题,这个插件的效果图如下:
1.它可以减少导入缩放图像到Android项目所需的工作量,Android Drawable Importer添加了一个在不同分辨率导入画板或缩放指定图像到定义分辨率的选项,该插件包含三个主要功能,可以在New下的Android module的任意地方通过右键访问它们: 1、引入AndroidIcons Drawable 选择资源,指定颜色,改变目标资源名字以及选中所有你想引入的资源。然后会自动创建所有缺失的文件夹,如果已经存在相同名字的drawable,则会进行警告。
2、Scaled Drawable 选择资源并指定分辨率。如果你想缩放引入的图片,你应该选择“其他”选项,然后填充目标分辨率和目标宽度/高度。
3、Multisource-Drawable 引入不同资源的Drawable,设计者根据如下结构设计不同资源的Drawable zip文件,引入一个zip文件即可引入不同分辨率的Drawable。 root/ ./drawable_ldpi.png ./drawable_mdpi.png ./drawable_hdpi.png ./drawable_xhdpi.png 如图所示:
3.adb-idea 支持直接在AS面板中进行ADB操作,快捷键: * Mac OSX: Ctrl+Shift+A * Windows/Linux: Ctrl+Alt+Shift+A
按照命名规范自动生成Selector,如图所示:
如何使用:
- 在资源文件夹下右击,比如’drawable_xhdpi’下:
- 选择Generate Android Selectors
- 所有的selector自动出现在drawable文件夹下
根据Gson api接口生成相应的实体类
插件有很多,就不一一赘述了,这里有个链接没有兴趣的可以去看看:http://coolshell.info/blog/2015/09/android-studio-plugins.html
七.Gradle基础
原文:http://stormzhang.com/devtools/2014/12/18/android-studio-tutorial4/
*什么是Gradle?
Gradle是一种依赖管理工具,基于Groovy语言,面向Java应用为主,它抛弃了基于XML的各种繁琐配置,取而代之的是一种基于Groovy的内部领域特定(DSL)语言。
*安装Gradle
在上面新建项目成功后会下载Gradle,貌似这个过程不FQ也是可以下载,但是访问特别慢,建议FQ下载。那么下载的Gradle到什么地方呢?
Mac上会默认下载到 **/Users/<用户名>/.gradle/wrapper/dists** 目录
Win平台会默认下载到 C:\Documents and Settings<用户名>.gradle\wrapper\dists 目录
你会看到这个目录下有个 gradle-x.xx-all 的文件夹, 如果下载实在太慢,但是又不想FQ的话,可以自己手动到Gradle官网下载对应的版本,然后将下载的.zip文件(也可以解压)复制到上述的gradle-x.xx-all 文件夹下,不过还是建议让它直接下载的好。
*下面就以我的开源项目 9GAG 来详细讲解下和Gradle相关的知识, 和Gradle相关的几个文件一般有如下几个:
红色标记部分从上到下咱们来一步步分析:
1. 9GAG/app/build.gradle
这个文件是app文件夹下这个Module的gradle配置文件,也可以算是整个项目最主要的gradle配置文件,我们来看下这个文件的内容:
这里需要说明几点:
文件开头apply plugin是最新gradle版本的写法,以前的写法是apply plugin: ‘android’, 如果还是以前的写法,请改正过来。
buildToolsVersion这个需要你本地安装该版本才行,很多人导入新的第三方库,失败的原因之一是build version的版本不对,这个可以手动更改成你本地已有的版本或者打开 SDK Manager 去下载对应版本。
applicationId代表应用的包名,也是最新的写法,这里就不在多说了。
android 5.0开始默认安装jdk1.7才能编译,但是由于mac系统自带jdk的版本是1.6,所以需要手动下载jdk1.7并配置下,具体可以见我这篇博客Mac下安装和管理Java
minifyEnabled也是最新的语法,很早之前是runProguard,这个也需要更新下。
proguardFiles这部分有两段,前一部分代表系统默认的android程序的混淆文件,该文件已经包含了基本的混淆声明,免去了我们很多事,这个文件的目录在 **/tools/proguard/proguard-android.txt** , 后一部分是我们项目里的自定义的混淆文件,目录就在 **app/proguard-rules.txt** , 如果你用Studio 1.0创建的新项目默认生成的文件名是 **proguard-rules.pro** , 这个名字没关系,在这个文件里你可以声明一些第三方依赖的一些混淆规则,由于是开源项目,9GAG里并未进行混淆,具体混淆的语法也不是本篇博客讨论的范围。最终混淆的结果是这两部分文件共同作用的。
compile project(‘:extras:ShimmerAndroid’)这一行是因为9GAG中存在其他Module,不知道Module的概念可以看下这篇博客Android Studio系列教程二–基本设置与运行, 总之你可以理解成Android Library,由于Gradle的普及以及远程仓库的完善,这种依赖渐渐的会变得非常不常见,但是你需要知道有这种依赖的。
以上文件里的内容只是基本配置,其实还有很多自定义部分,如自动打包debug,release,beta等环境,签名,多渠道打包等,后续会单独拿出来讲解。
2. 9GAG/extras/ShimmerAndroid/build.gradle
每一个Module都需要有一个gradle配置文件,语法都是一样,唯一不同的是开头声明的是 apply plugin: ‘com.android.library’
3. 9GAG/gradle
这个目录下有个 wrapper 文件夹,里面可以看到有两个文件,我们主要看下 gradle-wrapper.properties 这个文件的内容:
可以看到里面声明了gradle的目录与下载路径以及当前项目使用的gradle版本,这些默认的路径我们一般不会更改的,这个文件里指明的gradle版本不对也是很多导包不成功的原因之一。
4. 9GAG/build.gradle
这个文件是整个项目的gradle基础配置文件,我们来看看这里面的内容
内容主要包含了两个方面:一个是声明仓库的源,这里可以看到是指明的jcenter(), 之前版本则是mavenCentral(), jcenter可以理解成是一个新的*远程仓库,兼容maven中心仓库,而且性能更优。另一个是声明了android gradle plugin的版本,android studio 1.0正式版必须要求支持gradle plugin 1.0的版本。
5. 9GAG/settings.gradle
这个文件是全局的项目配置文件,里面主要声明一些需要加入gradle的module,我们来看看9GAG该文件的内容:
include ':app', ':extras:ShimmerAndroid'
文件中的 app, extras:ShimmerAndroid 都是module,如果还有其他module都需要按照如上格式加进去。
总结
关于gradle的基础知识就介绍到这里,接下来会介绍一种我常用的快速方便的编译查看第三方开源项目的方法,如何导入Android Studio,Gradle常用基本命令,多渠道打包配置等。
Gradle命令详解与导入第三方包
九.Gradle多渠道打包
http://blog.csdn.net/hyr83960944/article/details/38268395
这也是我写的第一篇教程类博客,如果以后有什么AS好的用法会继续补充!有疑问或者发现错误欢迎大家直接博客留言,谢谢大家!