最近项目在采用android studio来开发,它采用的是Gradle构建系统,当我们要添加外部依赖的时候我们只需要在build.gradle下配置如下即可
dependencies {
compile 'com.android.support:appcompat-v7:21.0.2'
}
但是这是什么意思呢?于是就去学习了一下granle的依赖管理,原来定义外部依赖包含group, name和version这三个属性,上面的写法是一种简洁的写法,把它补全就是
dependencies {
compile group:'com.android.support',name:'support-v4',version:'21.0.2' }
依赖管理简介
在配置完项目仓库后,我们可以声明其中的依赖,如果我们想要声明一个新的依赖,可以采用如下步骤:
指定依赖的配置。
声明所需的依赖。
让我们看一下详细步骤:
配置中的依赖分类
在Gradle中,依赖是按照指定名称进行分类的,这些分类被称为配置项,我们可以使用配置项声明项目的外部依赖。
Java插件指定了若干依赖配置项,其描述如下:当项目的源代码被编译时,
compile配置项中的依赖是必须的。
runtime配置项中包含的依赖在运行时是必须的。
testCompile配置项中包含的依赖在编译项目的测试代码时是必须的。
testRuntime配置项中包含的依赖在运行测试代码时是必须的。
archives配置项中包含项目生成的文件(如Jar文件)。
default配置项中包含运行时必须的依赖。
声明项目依赖
最普遍的依赖称为外部依赖,这些依赖存放在外部仓库中。一个外部依赖可以由以下属性指定:
group
属性指定依赖的分组(在Maven中,就是groupId)。
name
属性指定依赖的名称(在Maven中,就是artifactId)。
vertion
属性指定外部依赖的版本(在Maven中,就是version)。
我们假设我们需要指定以下依赖:
依赖的分组是foo。
依赖的名称是foo。
依赖的版本是0.1。
在项目编译时需要这些依赖。我们可以将以下代码片段加入到build.gradle中,进行依赖声明:
dependencies {
compile group: 'foo', name: 'foo', version: '0.1'
}
我们也可以采用一种快捷方式声明依赖:[group]:[name]:[version]。如果我们想用这种方式,我们可以将以下代码段加入到build.gradle中:
dependencies {
compile 'foo:foo:0.1'
}
我们也可以在同一个配置项中加入多个依赖,传统的方式如下:
dependencies {
compile (
[group: 'foo', name: 'foo', version: '0.1'],
[group: 'bar', name: 'bar', version: '0.1']
)
}
如果采用快捷方式,那可以是这样:
dependencies {
compile 'foo:foo:0.1', 'bar:bar:0.1'
}
自然地,声明属于不同配置项的依赖也是可以的。比如说,如果我们想要声明属于compile和testCompile配置项的依赖,可以这么做:
dependencies {
compile group: 'foo', name: 'foo', version: '0.1'
testCompile group: 'test', name: 'test', version: '0.1'
}
同样的,给力的快捷方式又来了
dependencies {
compile 'foo:foo:0.1'
testCompile 'test:test:0.1'
}