依赖类型
类型 | 描述 | 示例 |
---|---|---|
项目依赖 | 依赖其他gradle项目 | |
文件依赖 | 依赖文件系统中的一系列文件 | |
客户端模块依赖 | 依赖仓库中的外部类库,具有生命原数据的能力 | |
gradle运行时依赖 | 依赖gradle api 或者封装的gradle运行时类库 |
依赖标记
dependencies{
compile "com.android.support:appcompat-v7:${rootProject.ext.supportVersion}"
}

依赖检查
$gradle dependencies

动态版本
两种方式:
* 使用latest.integration
dependencies{
compile "com.android.support:appcompat-v7:lastest-integration"
}
- +号
-
dependencies{ compile "com.android.support:appcompat-v7:22.0.+" }
文件依赖
compile fileTree(dir: 'libs', include: ['*.jar'])
自定义仓库
repositories {
maven {
name 'releases'
url 'http://mvnrepo.alibaba-inc.com/mvn/releases'
}
}
强制置顶版本
configurations.all {
resolutionStrategy {
// 如果想插件和snaphost版本实时生效,请打开注释
// cacheChangingModulesFor(0, 'SECONDS')
//强制设置依赖库的版本,防止间接依赖导致版本号不对
force('com.alibaba:fastjson:1.1.54.android')
for (dependencyName in versionDependencies) {
println(dependencyName + ":" + versions.get(project, dependencyName))
force(dependencyName + ":" + versions.get(project, dependencyName).trim())
}
}
}
常用关键字
- transitive = true 在aar、jar引入是,设置此字段,可以映入相关aar、jar的依赖库。
*exclude : 排除库的某个依赖。不能使用版本号排除特定版本库。
- awb:(阿里 atlas框架使用的专有库格式。与aar相似。代表一个独立的业务)
compile("com.ali.music:planet-fans:" + versions.get(project, "com.ali.music:planet-fans") + "@awb") {
transitive = true
exclude group: 'com.ali.music', module: 'commonservice'
}