sim*_*lsi 7 android gradle android-gradle-plugin
我正在开发一个多模块 Android 项目。以前编写的模块之一使用 Paging 库 version-2,现在我尝试在另一个模块中使用新的 paging v3 库,但出现此错误。
Duplicate class androidx.paging.LivePagedListKt found in modules jetified-paging-runtime-ktx-2.1.2-runtime.jar (androidx.paging:paging-runtime-ktx:2.1.2) and paging-runtime-3.0.0-alpha03-runtime.jar (androidx.paging:paging-runtime:3.0.0-alpha03)
模块层次结构是这样的:
app:
/ \
module-A module-B
(uses v2) (uses v3)
Run Code Online (Sandbox Code Playgroud)
我在 app 模块 build.gradle 中添加了模块 A 和模块 B 的依赖项,就像这样
implementation project(path: ':module-A')
implementation project(path: ':module-B')
Run Code Online (Sandbox Code Playgroud)
有没有什么办法可以在同一个项目中使用同一个库的不同版本,前提是在不同的模块中使用不同的版本。
到目前为止尝试的解决方案:
我查看了类似的答案并在应用程序级 build.gradle 文件中添加了这一行
configurations {
runtime.exclude group: 'androidx.paging', module: 'paging-runtime'
}
Run Code Online (Sandbox Code Playgroud)
但仍然得到同样的错误。
片段:
configurations {
runtime.exclude group: 'androidx.paging', module: 'paging-runtime'
}
Run Code Online (Sandbox Code Playgroud)
仅当 v2 库包含在runtime配置中时才有效。您应该调整配置以适应您在其中声明的 v2 库的任何配置(implementation、、api已弃用的compile、等等)。
您可能正在使用implementation,因此请尝试以下代码片段:
configurations {
implementation.exclude group: 'androidx.paging', module: 'paging-runtime-ktx'
}
Run Code Online (Sandbox Code Playgroud)
有还是没有-ktx。
或者使用以下代码片段,无论您使用的配置如何,它都应该有效:
configurations.all {
exclude group: 'androidx.paging', module: 'paging-runtime-ktx'
}
Run Code Online (Sandbox Code Playgroud)
| 归档时间: |
|
| 查看次数: |
1092 次 |
| 最近记录: |