错误:在Android中使用两个库项目时,已经定义了属性“***”

我在Android项目中使用android-support-v7-appcompat作为库。 现在我想包括actionbarsherlock作为另一个库项目。 当我添加第二个库时,会出现如下许多错误

android-support-v7-appcompat\res\values\attrs.xml:476: error: Attribute "attributeName" has already been defined 

通过更改一个属性值,它的相关代码片段是我试过的一个解决scheme。 但是当上面有近80条线时,就会变得乱七八糟。 有什么其他方法可以解决这个问题吗?

Solutions Collecting From Web of "错误:在Android中使用两个库项目时,已经定义了属性“***”"

解决此问题的正确方法是更新所有相关项目和库项目中的Android支持库。 在我的情况,我已经使用Android支持库,也是一个库项目来实现我的应用程序。 当我更新这两个库时,问题就解决了。 更新Android支持库的方法是;

  • 右键点击该项目
  • 从popup的窗口中selectAndroid工具
  • select添加支持库

Properties => Android中删除appcompact支持库项目

Gradle Resource Merger合并来自所有依赖关系的所有资源文件夹并放置到单个文件夹中。 如果有重复的构build过程将失败。

幸运的是,如果你看下面的Output:label,你会find正确的path。

这是一个例子

在这里输入图像说明

你的情况是android-support-v7-appcompat\res\values\attrs.xml:476: error: Attribute "attributeName" has already been defined

您也可以从命令行构build您的项目并获得正确的path。 attributeName在第476行的values\attrs.xml文件中,您将find一个名为“attributeName”的属性。 最有可能的是你必须改变自己的风格,摆脱重复。

所以,现在,当你知道原因时,你可以在你的项目模块中find这个属性,并用不同的名称replace它。

我通过从项目中删除appcompact解决了这个问题,并改变了样式

 <style name="AppBaseTheme" parent="Theme.Sherlock"> 

我更新了构build工具版本和resynced,它工作正常。