在android studio中包含依赖项时出现R错误

Posted

技术标签:

【中文标题】在android studio中包含依赖项时出现R错误【英文标题】:Getting R error while including dependencies in android studio 【发布时间】:2015-09-23 20:35:35 【问题描述】:

我是 android studio 的新手,我正在尝试测试一些材料设计的东西。 我只是为此添加了一些依赖项

这是导致 R 错误的代码

dependencies 
    compile fileTree(dir: 'libs', include: ['*.jar'])
    compile 'com.android.support:appcompat-v7:22.2.0'
    compile 'br.com.liveo:navigationdrawer-material:2.3.3'
    compile 'com.github.navasmdc:MaterialDesign:1.+@aar'
    compile 'com.nineoldandroids:library:2.4.+'


但是如果我们尝试使用没有任何问题

    compile 'br.com.liveo:navigationdrawer-material:2.3.3'

    compile 'com.github.navasmdc:MaterialDesign:1.+@aar'
    compile 'com.nineoldandroids:library:2.4.+'

当我将它们一起使用时,问题就来了。

我是这个 android 工作室的初学者。任何想法表示赞赏。谢谢。

![重建后显示此错误]http://i.stack.imgur.com/HoToP.png

【问题讨论】:

你的依赖定义了相同的属性。 【参考方案1】:

首先,尝试在“构建”菜单中清理并重新构建您的项目。如果这不起作用,请尝试使用以下行插入:

 compile 'com.github.navasmdc:MaterialDesign:1.5@aar'
 compile 'com.nineoldandroids:library:2.4.0'

【讨论】:

仅在添加 compile 'com.github.navasmdc:MaterialDesign:1.5@aar' compile 'com.nineoldandroids:library:2.4.0' 时使用其中 3 个时出现错误 我看到了你的编辑。我认为这两个库都试图同时设置“rippleColor”值,因此在两者之间造成了某种问题。 我建议转到错误消息上方命名的文件(双击)并在文件中删除“rippleColor”所在的行。 但我无法编辑 tat。它是一个生成的文件。有什么选择吗? 我说的是屏幕截图第三行中的文件。你确定不能编辑吗?【参考方案2】:

首先,更新您的 IDE,然后重建项目。

从显示的错误来看,您似乎在 res\values\values 中写入了两次。并为同一个属性赋予 2 个不同的值。

作为一种快速修复,您可以只使用'com.github.navasmdc:MaterialDesign:1.+@aar'com.nineoldandroids:library:2.4.+' 进行编译,将该 values.xml 保存到其他位置,然后编译其余部分,然后手动合并文件。 如果这些材料的来源超出您的控制范围,您可能会在导入内容时遇到问题,如果不是,请尝试在其中一个包中重命名该属性。

作为最后的手段,手动合并文件夹中的内容,然后将项目作为新项目导入。我在使用 Android Studio 时遇到了问题,这些问题往往会通过更新 IDE 来解决。

【讨论】:

【参考方案3】:

rippleColor 与其他库的冲突是[1]、[2] 和[3] 中报告的一个已知问题

您可以尝试从这里使用另一个库:

Carbon rey5137/material GreenMatter

【讨论】:

以上是关于在android studio中包含依赖项时出现R错误的主要内容,如果未能解决你的问题,请参考以下文章

解决Android Studio添加依赖时出现“Manifest merger failed

将 android studio 项目与 Firebase 集成以实现 google 登录功能时出现依赖错误

无法在 Visual Studio 2013 中包含文件

在 React App 中包含 firebase 时出现 TypeError

OpenNN 在 Visual Studio 2017 中包含未解析的外部符号

您是不是应该在您的 pom 中包含那些已经是您的某些依赖项的依赖项的依赖项?