我最近在我的android项目中添加了implementation 'com.google.android.play:core:1.6.4'
作为依赖项,现在Intellij抱怨说Program type already present: androidx.exifinterface.R
。这是什么意思,我该如何解决?
注意:这是一个问答问题。我已经找到了解决方案,并且想与他人分享。
最佳答案
我最近遇到了一个问题,其中android studio会抱怨Program type already present: androidx.exifinterface.R
。添加implementation 'com.google.android.play:core:1.6.4'
依赖项后发生了这种情况。我以前曾用androidx.asynclayoutinflater.R
偶然发现了这个。我发现,将以下内容添加到模块级gradle文件中可以解决该问题:
configurations.all {
// This is from a previous, similar issue
exclude group: "androidx.asynclayoutinflater", module: "asynclayoutinflater"
// This is the LOC that fixed the issue in this post
exclude group: "androidx.exifinterface", module: "exifinterface"
}
模式似乎是:
if there's a complaint about androidx.MODULE_X.R already being present
then add
exclude group: "androidx.MODULE_X", module: "MODULE_X"
to configurations.all in module level gradle file
这既适用于asynclayoutinflater也适用于现在的exifinterface。我不知道这种模式是否可以扩展,但到目前为止它已经奏效了。我对基本问题的理解是,模块依赖关系图中的两个依赖关系(例如
com.google.android.play:core
)明确包含有问题的模块(例如exifinterface
),因此我们需要排除其中一个显式依赖关系。我的理解可能是错误的。关于android - 程序类型已经存在androidx.exifinterface.R,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/59479673/