前往小程序,Get更优阅读体验!
立即前往
首页
学习
活动
专区
工具
TVP
发布
社区首页 >专栏 >【Android Gradle 插件】Gradle 依赖管理 ⑦ ( dependencies 传递依赖设置 | transitive 关闭依赖传递配置 | exclude 排除子依赖配置 )

【Android Gradle 插件】Gradle 依赖管理 ⑦ ( dependencies 传递依赖设置 | transitive 关闭依赖传递配置 | exclude 排除子依赖配置 )

作者头像
韩曙亮
发布2023-03-30 15:53:56
8900
发布2023-03-30 15:53:56
举报
文章被收录于专栏:韩曙亮的移动开发专栏

文章目录

Android Plugin DSL Reference 参考文档 :

一、dependencies 依赖传递层级


在上一篇博客中 , 执行

代码语言:javascript
复制
gradlew :app:dependencies

命令 , 可以打印出依赖库以及依赖库的依赖库层级 ,

代码语言:javascript
复制
+--- com.facebook.fresco:fresco:0.14.0
|    +--- com.facebook.fresco:drawee:0.14.0
|    |    \--- com.facebook.fresco:fbcore:0.14.0
|    +--- com.facebook.fresco:fbcore:0.14.0
|    \--- com.facebook.fresco:imagepipeline:0.14.0
|         +--- com.parse.bolts:bolts-tasks:1.4.0
|         +--- com.facebook.fresco:fbcore:0.14.0
|         \--- com.facebook.fresco:imagepipeline-base:0.14.0
|              +--- com.android.support:support-core-utils:24.2.1 -> 28.0.0 (*)
|              +--- com.parse.bolts:bolts-tasks:1.4.0
|              \--- com.facebook.fresco:fbcore:0.14.0

默认情况下 , 在 build.gradle 中配置 com.facebook.fresco:fresco:0.14.0 依赖 ,

代码语言:javascript
复制
dependencies {
	implementation 'com.facebook.fresco:fresco:0.14.0'
}

会自动将其子依赖库 com.facebook.fresco:drawee:0.14.0 , com.facebook.fresco:fbcore:0.14.0 , com.facebook.fresco:imagepipeline:0.14.0 也会加载进来 ;

二、transitive 关闭依赖传递配置


如果我们不想要解析其子依赖 , 如在其它位置已经有了该依赖 , 则可以进行如下设置 :

代码语言:javascript
复制
dependencies {
	implementation 'com.facebook.fresco:fresco:0.14.0', {
		transitive false
	}
}

在依赖后 , 增加一个闭包 , 使用逗号隔开 ,

在闭包中配置 transitive false 选项 , 即不解析该依赖的子依赖 ;

进行了上述设置后 , 调用 fresco 函数库肯定会出现问题 ;

三、exclude 排除子依赖配置


设置 exclude 属性 , 可以排除依赖库的某个子依赖 , 并且在外部进行依赖 , 可以有效解决依赖库冲突问题 ;

代码语言:javascript
复制
dependencies {
	implementation 'com.facebook.fresco:fresco:0.14.0', {
		transitive true
		// 排除 com.android.support:support-core-utils:24.2.1 子依赖库
		exclude(group:'com.android.support', module:'support-core-utils')
	}
	// 外部单独添加被排除的 com.android.support:support-core-utils:24.2.1 依赖库
	implementation com.android.support:support-core-utils:24.2.1
}
本文参与 腾讯云自媒体同步曝光计划,分享自作者个人站点/博客。
原始发表:2022-05-29,如有侵权请联系 cloudcommunity@tencent.com 删除

本文分享自 作者个人站点/博客 前往查看

如有侵权,请联系 cloudcommunity@tencent.com 删除。

本文参与 腾讯云自媒体同步曝光计划  ,欢迎热爱写作的你一起参与!

评论
登录后参与评论
0 条评论
热度
最新
推荐阅读
目录
  • 文章目录
  • 一、dependencies 依赖传递层级
  • 二、transitive 关闭依赖传递配置
  • 三、exclude 排除子依赖配置
领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档