Android 解决Gradle 三方依赖冲突方法

一、查找冲突的包

复制代码
./gradlew app:dependencies

二、解决方案

第一种:

排除依赖中的指定包

exclude group:表示只要包含com.github.piasy 的都排除

compile ('com.mcxiaoke.viewpagerindicator:library:2.4.1') {

exclude group: 'com.android.support'

exclude group: 'com.android.support', module: 'support-v13'

}

第二种:

force强制设置某个模块的版本

configurations.all {

resolutionStrategy {

force 'com.android.support:support-v4:24.1.0'

}

第三种:

force强制设置整个工程的的版本 在根目录的gradle.build文件中设置

allprojects {

configurations.all {

resolutionStrategy.eachDependency { DependencyResolveDetails details ->

def requested = details.requested

if (requested.group == 'com.android.support') {

if (requested.name.startsWith("support-fragment")) {

details.useVersion '28.0.0'

}

}

}

}

}

第四种

  1. 使用`maven-enforcer-plugin`插件强制执行依赖规则:在build.gradle文件中,可以使用`maven-enforcer-plugin`插件来强制执行依赖规则。例如:

plugins {

id 'maven-enforcer-plugin' version

}

查找依赖冲突

使用`dependencyUpdates`插件查找依赖冲突:在build.gradle文件中,可以使用`dependencyUpdates`插件来查找依赖冲突。例如:

```

plugins {

id 'com.github.ben-manes.versions' version '0.36.0'

}

task dependencyUpdates(type: DependencyUpdatesTask) {

outputFormatter = 'json'

}

上面的代码中,我们使用了`dependencyUpdates`插件,并定义了一个`dependencyUpdates`任务来查找依赖冲突。执行`./gradlew dependencyUpdates`命令可以查看依赖冲突的详细信息。

相关推荐
LSL666_3 小时前
5 Repository 层接口
android·运维·elasticsearch·jenkins·repository
alexhilton7 小时前
在Jetpack Compose中创建CRT屏幕效果
android·kotlin·android jetpack
2501_940094029 小时前
emu系列模拟器最新汉化版 安卓版 怀旧游戏模拟器全集附可运行游戏ROM
android·游戏·安卓·模拟器
下位子9 小时前
『OpenGL学习滤镜相机』- Day9: CameraX 基础集成
android·opengl
参宿四南河三11 小时前
Android Compose SideEffect(副作用)实例加倍详解
android·app
火柴就是我11 小时前
mmkv的 mmap 的理解
android
没有了遇见12 小时前
Android之直播宽高比和相机宽高比不支持后动态获取所支持的宽高比
android
shenshizhong12 小时前
揭开 kotlin 中协程的神秘面纱
android·kotlin
vivo高启强12 小时前
如何简单 hack agp 执行过程中的某个类
android
沐怡旸12 小时前
【底层机制】 Android ION内存分配器深度解析
android·面试