gradle入门(1-8)gradle 的依赖查看、依赖排除和指定版本(需要验证!)
2017-07-05 14:38
323 查看
一、依赖查看 gradle dependencies
在gradle dependencies输出会有如下几种标记:1、版本 : 唯一的依赖。
2、版本():还存在该库其他版本的依赖或者间接依赖,并且默认选择()所标注的版本。
3、版本1->版本2(*):还存在该库其他版本的依赖或者间接依赖,并且选择 版本2。
二、依赖排除
1、transitive = true
transitive dependencies 指 依赖的依赖,即 “间接依赖”compile('com.meituan.android.terminus:library:6.6.1.16@aar'){
transitive = true
exclude module: 'hotel_model'
exclude module: 'base_model'
}
@aar只下载该aar包,而不下载该aar包所依赖的其他包
如果想使用@aar的前提下还能下载其依赖库,则需要添加transitive=true的条件。
2、排除 transitive dependencies
通过configuration或者dependency可以除去 transitive dependencies:build.gradle
configurations {
compile.exclude module: 'commons'
all*.exclude group: 'org.gradle.test.excludes', module: 'reports'
}
dependencies {
compile("org.gradle.test.excludes:api:1.0") {
exclude module: 'shared'
}
}
如果在configuration中定义一个exclude,那么所有依赖的transitive dependency (指定的)都会被去除。
定义exclude时候,或只指定group, 或只指定module名字,或二者都指定。
不是所有的transitive dependency 都可以被去除的,如:runtime时用到的。
一般来说,runtime时候用不到的,或者目标环境及平台已经包含该依赖的可以执行exclude去除。
那exclude选per-dependency还是per-configuration?
大多数情况都选用per-configuration,下面是一些使用exclude的典型场合:
* 有licensing问题
* 从远程仓库上无法获取到依赖
* runtime时候用不到
* 有版本冲突
其中,exclude module: 'base_model' 和 exclude group:'com.name.group' module:'base_model' 的作用是完全一样的。
三、强制指定依赖版本
1、force=true
compile('com.squareup.okhttp:okhttp-mt:2.5.0') {force = true
}
如我们在依赖okhttp的时候很可能发生冲突,就比如依赖的依赖中也包含了okhttp,这种场合下,就会产生版本冲突的问题,
加上force = true表明的意思就是即使在有依赖库版本冲突的情况下坚持使用被标注的这个依赖库版本。
相关文章推荐
- Java Gradle入门指南之依赖管理(添加依赖、仓库、版本冲突) (转)
- Gradle sync failed: CreateProcess error=216, 该版本的 %1 与您运行的 Windows 版本不兼容。请查看计算机的系统信息,了解是否需要 x86 (32
- maven&gradle 依赖指定版本范围或者最新版本
- [Gradle中文教程系列]-跟我学Gradle-5.3:依赖-管理依赖的版本(传递(transitive)\排除(exclude)\强制(force)\动态版本(+))
- Java Gradle入门指南之依赖管理(添加依赖、仓库、版本冲突)
- Java Gradle入门指南之依赖管理(添加依赖、仓库、版本冲突)
- Java Gradle入门指南之依赖管理(添加依赖、仓库、版本冲突)
- [Gradle中文教程系列]-跟我学Gradle-5.3:依赖-管理依赖的版本(传递(transitive)\排除(exclude)\强制(force)\动态版本(+))
- Gradle Android客户端程序打包(基于gradle 2.10版本验证通过)
- 如何查看apk需要支持的Android版本
- git 发布android 系统版本 修改版本型号 查看指定文件的修改记录
- 发布程序时查看所需要的依赖文件
- android studio 插件 gradle view 查看gradle依赖树
- Gradle入门系列(3):依赖管理
- MySQL入门--创建数据表、显示指定数据库的数据表、查看数据表结构
- Gradle如何始终使用最新版本的依赖
- as通过gradle实现多渠道打包+使用配置文件进行版本管理+指定apk输出路径和apk文件名
- GradleUserGuide中文版 7)Java构建 8)依赖管理基础 9)Groovy入门
- 如何查看SQL Server的版本、补丁包信息?以及如何鉴别是否需要升级自己的SQL Server?
- Gradle入门系列(4):创建二进制发布版本