前言
主要从AndroidStudio的环境安装升级GradleEclipse转AS,多渠道配置Maven私服Action,Option快捷键等几个方面出发讲一些操作技巧以及我对AndroidStudio使用的一些理解与经验。本文较全面的讲述了我们在开发中必须要了解的比较多而全可能不能马上记住目的在于大家看我之后能有一个认识在需要使用的时候知道有这么个东西。希望对你的开发工作有所帮助不足之处请批评指正。
一、Install&Settings&Update
1、Gradle
Gradle官方会不断更新我们可以使用本地安装的方式并配置path我们就可以使用Terminal直接输入gradle命令执行构建任务。当然如果我们想快速更新可以修改配置文件。 首先修改project\gradle\warpper\gradle-wapper.properties 文件其中distributionUrl的值distributionUrl=https\://services.gradle.org/distributions/gradle-2.4-all.zip
这里实际是从网络下载配置的版本会自动检测如果不是的就会下载。
然后修改 project的build.gradledependencies {
classpath 'com.android.tools.build:gradle:1.3.0'
// NOTE: Do not place your application dependencies here; they belong
// in the individual module build.gradle files
}
注意这两个配置是一一对应的比如gradle-2.4-all对应的就是1.3.0。后者的意思是这个project配置的gradle构建版本为1.3.0前者的意思是这个project使用的gradle的版本为2.4。我们会发现如果我们修改前者如果本地没有安装这个版本的gradle会自动从gradle官网下载。但是如果我们修改后者它会自动从jcenter()仓库下载一些plugin之类的。
2、AS具体的安装和更新网上有许多的详细教程我只想说以下三点。Android Studio是Google官方基于IntelliJ IDEA开发的一款Android应用开发工具,绝逼比Eclipse强大还没有转的尽快吧:
关闭AndroidStudio的自检升级如果准备好升级还是自己选择想升级的版本升级靠谱
升级前导出AndroidStudio的配置文件settings.jar(C:\Users\Administrator.AndroidStudio1.4\config目录下或者操作File|Export Setings导出)升级后导入Settings.jar这样就不需要重新配置有必要的话给自己备份一个说不定老天无缘无故挂了重装很方便。
具体细节的配置可以阅读强烈建议直接打开AS的设置窗口多转几次就熟悉了里边的各种配置啦。也可以参考这边文章1.4版本有点旧了差不多够用打造你的开发工具settings必备
二、Gradle
1 简述Groovy语言
Groovy是一种开发语言是在Java平台上的具有向PythonRuby语言特性的灵活动态语言,Groovy保重了这些特性像Java语法一样被Java开发者使用。编译最终都会转成java的.class文件。他们的关系如下图。我想这大概也是Gradle构建系统为什么要选择Groovy的原因它具有java语言的特性开发者容易理解使用。一定要明白我们在build.gradle里边不是简单的配置而是直接的逻辑开发。如果你熟练掌握Groovy那么你在build.grale里边可以做任何你想做的事。
2 Gradle编程框架
Gradle是一个工具同时它也是一个编程框架。使用这个工具可以完成app的编译打包等工作也可以干别的工作Gradle里边有许多不同的插件对应不同的工程结构、打包方式和输出文件类型。我们经常使用到的便是maven\java\com.android.application\android-library等。当按照要求配置好gradle的环境后执行gradle的task便会自动编译打包输出你想要的.apk.aar.jar文件,如果你足够牛逼你有gradle就够了直接拿记事本开发
如下图是Gradle的工作流程。Initializtion 初始化执行settings.gradle(我们看到都是include",实际里边可深了
Hook 通过API来添加这中间我们可以自己编程干些自己想做的事情
Configuration 解析每个project的build.gradle确定project以及内部Task关系形成一个有向图
Execution 执行任务输入命令 gradle xxx ,按照顺序执行该task的所有依赖以自己本身
3 关于gradle的task
每个构建由一个或者多个project构成一个project代表一个jar一个moudle等等。一个project包含若干个task包含多少由插件决定而每一个task就是更细的构建任务比如创建一个jar、生成Javadoc、上传aar到maven仓库。我们可以通过执行如下命令查看所有的task:gradle tasks --all
当然我们也可以在AS中可以看到所有的task双击就可以执行单个的task.
当然我们也可以在build.gradle中写自己的task。关于详细的task介绍可以查看网络资料进行学习推荐Gradle入门系列基本花上半天到一天的时候简单的过一遍就有一个大概的了解。
4 Gradle环境下Android的文件结构project-namebuild//构建生成文件
libs//本地的依赖jar包等
src//本moudule所有的代码和资源文件tests//单元测试报告apk//输出我们需要的.apk文件
lint-results.html//lint检查报告assets//资源文件
exploded-aar//如果我们依赖了许多的aar或者依赖工程最终都“copy"到了这个目录下
mainfests//合并的mainfestintermediates//构建打包的资源文件
outputs
reports
ivy.xml//moudle的配置task任务、依赖关系等java//java code
jni //navtive jni so
gen
res
assets
AndroidManifest.xml +build.gradle //moduleandroidTest//需要android环境的单元测试比如UI的单元测试
Test//普通的java单元测试
main//主渠道gradle
module-name
build.gradle // for all module
gradle.propeties //全局配置文件
local.properties //SDK、NDK配置
config.gradle//自定义的配置文件
settings.gradle//module管理
6 关于几个buid.gradle、gradle.propeties文件build.gradle文件(主工程的Top-level)apply from:"config.gradle"//可以给所有的moudle引入一个配置文件
bu