首页 > 解决方案 > 如何在android studio中用内部模块替换外部库依赖项

问题描述

我在我的项目中使用了许多库。

我最近编辑并重写了 recyclerview 库并添加了“androidx.recyclerview.widget”作为模块,但是在构建时出现以下错误:

Program type already present: androidx.recyclerview.widget.AdapterHelper$Callback

这个错误的原因是一些外部库依赖于recyclerview库。RecyclerView 库包名称是“androidx.recyclerview.widget”,我的 recyclerView 包名称是“androidx.recyclerview.widget”,这就是导致此错误的原因。

我正在寻找一种解决方案来告诉 Gradle 在所有依赖项中用我的 recyclerview 模块替换所有外部库 recyclerview。

我试图用下面的命令替换它,但仍然得到同样的错误


configurations.all {
    resolutionStrategy.force 'androidx.recyclerview:recyclerview:1.1.0'
    resolutionStrategy {
        dependencySubstitution {
            substitute module('androidx.recyclerview:recyclerview:1.1.0') with project(':recyclerview')
        }
    }
}

在此处输入图像描述

标签: androidandroid-studiogradleandroid-recyclerview

解决方案


要解决此问题,只需将其添加到 build.gradle (模块:app)中

android {
configurations {
    all*.exclude group: 'androidx.recyclerview', module: 'recyclerview'
}

}


推荐阅读