做者博客:http://www.kevinpelgrims.com/
审稿的博客:http://www.peterfriese.de/
Android Studio May 2013发布,支持Gradle,基于JetBrains' IntelliJ IDEA,支持Linux, Mac OS X, and Microsoft Windows。
相比于Eclipse的,Android Studio有改进的用户界面设计,更好的内存监视器,更好的字符串翻译编辑器,可能的Android具体问题警告等,旨在Android开发者。增长了特殊的项目结构视图(Project有Packages和Project),更好地组织了Gradle脚本、drawables等资源。2014年12月发布的1.0以后,Android Developer Tools (ADT) for Eclipse再也不有新功能,须要尽快迁移到Android Studio。
Gradle有较好的默认值、基于domain-specificlanguage (DSL 基于Groovy,一种基于JVM-based的语言,其余基于JVM-based的语言能够实现相似效果),脚本通常在文件build.gradle中,而不是XML。
Gradle的编译由一个或多个project组成、project由一个或多个task组成。每一个build.gradle表示一个project,Task包含若干个Action(相似Java的方法)。
构建生命周期
工做流的动态模型:Directed Acyclic Graph (DAG)。这意味着全部的task依次处理,不可能有循环。无依赖的task会先执行。三个阶段以下:
•Initialization(初始化):建立项目实例。若是有多个模块,每一个都有本身的build.gradle文件,并建立多个project。
•Configuration(配置):执行构建脚本,建立和配置每一个project的task。
•Execution(执行):决定哪些task应该是执行。哪些任务的执行取决于传递的参数及当前目录。
html
buildscript { repositories { jcenter() } dependencies { classpath 'com.android.tools.build:gradle:1.2.3' } }
JCenter是预约义的maven仓库。以上为一般project视图根目录的build.gradle的配置。
模块目录的build.gradle头部的apply plugin: 'com.android.application'表示应用Android插件。若是是库,要改用library。
下面是Android特有的部分:
java
android { compileSdkVersion 22 buildToolsVersion "22.0.1" }
上面的编译配置通常用最新版本。
gradle的建议代码结构图:python
MyApp ├── build.gradle ├── settings.gradle └── app ├── build.gradle ├── build ├── libs └── src ├── main │ ├── java │ │ └── com.package.myapp │ ├── res │ ├── drawable │ ├── layout │ └── etc. └── test └── com.package.myapp
/src/main/java The source code for the app
/src/main/res These are app-related resources (drawables, layouts, strings, and so on)
/libs These are external libraries (.jar or .aar)
/build The output of the build processandroid
Android studio 若是选择小于API 21,会自动添加Android Support Library(包含appcompat)。
构建:Build菜单->Make Project, 快捷方式Ctrl + F9或Cmd + F9(Mac OS X)。工具栏和Gradle窗口也有相似快捷方式。
Gradle的不一样版本可能不兼容,Gradle Wrapper能够下载指定版本的Gradle。Linux使用gradlew或Windows使用gradlew.bat代替gradle便可。
检查指定的版本是否存在:
app
# ./gradlew -v Unzipping /root/.gradle/wrapper/dists/gradle-2.4-all/3i2gobhdl0fm2tosnn15g540i0/gradle-2.4-all.zip to /root/.gradle/wrapper/dists/gradle-2.4-all/3i2gobhdl0fm2tosnn15g540i0 Set executable permissions for: /root/.gradle/wrapper/dists/gradle-2.4-all/3i2gobhdl0fm2tosnn15g540i0/gradle-2.4/bin/gradle ------------------------------------------------------------ Gradle 2.4 ------------------------------------------------------------ Build time: 2015-05-05 08:09:24 UTC Build number: none Revision: 5c9c3bc20ca1c281ac7972643f1e2d190f2c943c Groovy: 2.3.10 Ant: Apache Ant(TM) version 1.9.4 compiled on April 29 2014 JVM: 1.7.0_79 (Oracle Corporation 24.79-b02) OS: Linux 2.6.32-573.18.1.el6.x86_64 amd64
Windows使用:gradlew.bat –v
生成wrapper文件的方法:
dom
# vi build.gradle task wrapper(type: Wrapper) { gradleVersion = '2.4' }
# gradle wrapper :wrapper BUILD SUCCESSFUL Total time: 2.315 secs This build could be faster, please consider using the Gradle Daemon: https://docs.gradle.org/2.11/userguide/gradle_daemon.html
还能够指定版本:
maven
gradle wrapper --gradle-version 2.4
生成的文件:
编辑器
myapp/ ├── gradlew ├── gradlew.bat └── gradle/wrapper/ ├── gradle-wrapper.jar └── gradle-wrapper.properties
# vi gradle-wrapper.properties #Tue Dec 08 19:12:35 CST 2015 distributionBase=GRADLE_USER_HOME distributionPath=wrapper/dists zipStoreBase=GRADLE_USER_HOME zipStorePath=wrapper/dists distributionUrl=https\://services.gradle.org/distributions/gradle-2.4-all.zip
最后一个地址是能够修改的。
ide