我在我的项目中使用了许多库。
我最近编辑和重写了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')
}
}
}
最佳答案
要解决此问题,只需将其添加到 build.gradle (模块:app)中
android {
configurations {
all*.exclude group: 'androidx.recyclerview', module: 'recyclerview'
}
}
关于android - 如何在android studio中用内部模块替换外部库依赖项,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/59982658/