Gradle和Android Studio入门

简介

做者博客: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

相关文章
相关标签/搜索