android - 如何在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')
}
}
}
解决方案
要解决此问题,只需将其添加到 build.gradle (模块:app)中
android {
configurations {
all*.exclude group: 'androidx.recyclerview', module: 'recyclerview'
}
}
推荐阅读
- python - Python,django:表单中的所有对象都可以正常工作,除了只有一个
- discord.js - 使用 Discord.js 的批准/拒绝系统
- flutter - 如何解决不可为空的实例字段“目录”必须初始化。尝试添加一个初始化表达式,?
- javascript - 本地主机的 ERR_TOO_MANY_REDIRECTS
- sql - Toad SQLPlus - @Script 串行或并行运行
- google-sheets - Google 表格 - REPT 字符限制为 32000 的解决方法
- c++ - Dijkstra 算法中的分割核心转储问题
- flutter - 如何在 Flutter InputDecoration 中更改 errorText 背景颜色
- python - 使用python的相机位置跟踪
- mysql - 如何格式化mysql重复输入错误?