这篇文章主要给大家介绍了关于Android Studio Gradle依赖冲突解决的相关资料,文中通过示例代码介绍的非常详细,对大家学习或者使用Android Studio具有一定的参考学习价值,需要的朋友们下面来一起学习学习吧
前言
本文主要给大家介绍了Android Studio Gradle依赖冲突解决的相关内容,分享出来供大家参考学习,下面话不多说了,来一起看看详细的介绍吧
1. 查看依赖树
./gradlew dependencies
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依赖冲突解决方法


- iOS 对当前webView进行截屏的方法 2023-03-01
- Android studio实现动态背景页面 2023-05-23
- Android MaterialButton使用实例详解(告别shape、selector) 2023-06-16
- Android实现轮询的三种方式 2023-02-17
- SurfaceView播放视频发送弹幕并实现滚动歌词 2023-01-02
- 最好用的ios数据恢复软件:PhoneRescue for Mac 2023-09-14
- 详解flutter engine 那些没被释放的东西 2022-12-04
- Flutter实现底部和顶部导航栏 2022-08-31
- Android实现监听音量的变化 2023-03-30
- 作为iOS开发,这道面试题你能答出来,说明你基础很OK! 2023-09-14