Attr值在两个不同的库中声明

时间:2015-05-04 05:35:20

标签: android attributes styles

我在Android Studio中为我的项目添加了一个库。但是当我尝试编译我的项目时,我收到了这个错误:

Attribute barColor has already been declared.

之后我检查了整个项目并注意到另一个库已经声明了相同的属性!

如何修复此冲突,或者我可以不同时使用这些库?

enter image description here

导致冲突的库是:

2 个答案:

答案 0 :(得分:0)

最简单的解决方法是重命名其中一个库中的属性。要做到这一点,你必须:

  1. 下载其中一个库的源代码并将其添加到您的项目中。
  2. 现在您必须重命名刚刚下载的源代码中的属性。最简单的方法是通过重构。因此,右键单击相关属性并选择重构 - >改名。或者,只需将光标放在属性上,然后按 Shift + F6 。然后输入属性的新名称。
  3. 大多数情况下,重构应该已经为您完成了所有工作,但有时您需要在重构后手动修复一些事情。只需尝试重建您的项目,直到您没有收到任何编译错误并修复出现错误。
  4. 之后你应该全力以赴。现在属性有不同的名称,不应该有任何冲突!

答案 1 :(得分:0)

创建一个新文件夹,并将其命名为values-v21,然后放入该atxml.xml之类的特定xml文件,该文件会导致该文件夹的重复。通过这样做,不会混淆或合并两个相同的资源,但是,当然,您说的是,此attr将仅从sdk 21及更高版本开始使用,取决于您将提供的sdk版本。