温馨提示×

温馨提示×

您好,登录后才能下订单哦!

密码登录×
登录注册×
其他方式登录
点击 登录注册 即表示同意《亿速云用户服务条款》

Android Studio中Gradle依赖冲突如何解决

发布时间:2021-06-09 17:46:24 来源:亿速云 阅读:404 作者:Leah 栏目:移动开发

本篇文章给大家分享的是有关Android Studio中Gradle依赖冲突如何解决,小编觉得挺实用的,因此分享给大家学习,希望大家阅读完这篇文章后可以有所收获,话不多说,跟着小编一起来看看吧。

1. 查看依赖树

./gradlew dependencies

Android Studio中Gradle依赖冲突如何解决

2. 解决依赖冲突

一旦在构建中存在依赖冲突,开发人员需要决定哪个版本的库最终包含在构建中,有许多解决冲突的方法。

1. 逐个排除

compile('junit:junit:4.12'){
 exclude group : 'org.hamcrest',module:'hamcrest-core'
}
//最终,如果我们向包含1.3版本到构建中,我们可以从“mockito"中排除他
androidTestCompile('org.mockito:mockito-core:1.10.19'){
 exclude group : 'org.hamcrest',module:'hamcrest-core'
}

2. 显式依赖

在build.gradle中显示定义冲突的库,这是解决冲突的一种方式,在这种情况下,我们需要明确提出我们想要包含在任何一个配置的最终构建中的库的版本。

compile 'junit:junit:4.12'
androidTestCompile 'org.mockito:mockito-core:1.10.19'
androidTestCompile 'org.hamcrest:hamcrest-core:1.3'

如果多个依赖具有冲突版本的依赖或传递依赖的话,则不是从每个依赖性中排除模块,而是可以简单的使用期望的版本号来定义冲突依赖。

这种是一种更清洁的解决冲突的方法,但缺点是,当更新实际的依赖关系的时候,开发人员需要更新冲突的库。

3. 强制依赖

//在app.gradle 中的Android闭包中使用
android{
   configurations.all {
      resolutionStrategy.force 'com.android.support:appcompat-v7:28.0.0'
      resolutionStrategy.force 'com.android.support:support-v4:28.0.0'
      resolutionStrategy.force 'com.android.support:animated-vector-drawable:28.0.0'
      resolutionStrategy.force 'com.android.support:support-media-compat:28.0.0'
   }
}

//在build.gradle 中设置工程全局强制依赖
allprojects{
   configurations.all {
      resolutionStrategy.force 'com.android.support:appcompat-v7:28.0.0'
      resolutionStrategy.force 'com.android.support:support-v4:28.0.0'
      resolutionStrategy.force 'com.android.support:animated-vector-drawable:28.0.0'
      resolutionStrategy.force 'com.android.support:support-media-compat:28.0.0'
   }
}

以上就是Android Studio中Gradle依赖冲突如何解决,小编相信有部分知识点可能是我们日常工作会见到或用到的。希望你能通过这篇文章学到更多知识。更多详情敬请关注亿速云行业资讯频道。

向AI问一下细节

免责声明:本站发布的内容(图片、视频和文字)以原创、转载和分享为主,文章观点不代表本网站立场,如果涉及侵权请联系站长邮箱:is@yisu.com进行举报,并提供相关证据,一经查实,将立刻删除涉嫌侵权内容。

AI