我正在尝试将Android项目中的appcompat-v7从20.0.0更新到21.0.0,以便使用材料设计组件,但我总是得到相同的错误:
错误:属性“颜色”已经被定义“
我不知道该做什么来纠正这个错误,我在网上搜索,但我无法得到答案。这是我的秤:
android {
compileOptions.encoding = "iso-8859-1"
compileSdkVersion 21
buildToolsVersion "21.1.1"
defaultConfig {
applicationId "com.test"
minSdkVersion 11
targetSdkVersion 22
}
buildTypes {
release {
minifyEnabled false
proguardFiles getDefaultProguardFile('proguard-android.txt'), 'proguard-rules.txt'
}
}
}
dependencies {
compile fileTree(dir: 'libs', include: ['*.jar'])
compile 'com.android.support:support-v4:20.0.0'
compile 'com.google.http-client:google-http-client-gson:1.19.0'
compile 'com.google.code.gson:gson:2.2.4'
compile "com.android.support:appcompat-v7:21.0.+"
}这是冲突存在的途径。
C:\Users\Abel Dominguez\Documents\PROYECTOS_ANDROID\definitivos\d2\app\build\intermediates\exploded-aar\com.android.support\appcompat-v7\21.0.3\res\values\values.xml这是另一个错误:
Error:Execution failed for task ':app:processDebugResources'.
> com.android.ide.common.internal.LoggedErrorException: Failed to run command:
C:\Users\Abel Dominguez\AppData\Local\Android\sdk1\build-tools\build-tools-21.1.1\aapt.exe package -f --no-crunch -I C:\Users\Abel Dominguez\AppData\Local\Android\sdk1\platforms\android-21\android.jar -M C:\Users\Abel Dominguez\Documents\PROYECTOS_ANDROID\definitivos\d2\app\build\intermediates\manifests\full\debug\AndroidManifest.xml -S C:\Users\Abel Dominguez\Documents\PROYECTOS_ANDROID\definitivos\d2\app\build\intermediates\res\debug -A C:\Users\Abel Dominguez\Documents\PROYECTOS_ANDROID\definitivos\d2\app\build\intermediates\assets\debug -m -J C:\Users\Abel Dominguez\Documents\PROYECTOS_ANDROID\definitivos\d2\app\build\generated\source\r\debug -F C:\Users\Abel Dominguez\Documents\PROYECTOS_ANDROID\definitivos\d2\app\build\intermediates\res\resources-debug.ap_ --debug-mode --custom-package com.wherefriend -0 apk --output-text-symbols C:\Users\Abel Dominguez\Documents\PROYECTOS_ANDROID\definitivos\d2\app\build\intermediates\symbols\debug
Error Code:
1
Output:
C:\Users\Abel Dominguez\Documents\PROYECTOS_ANDROID\definitivos\d2\app\build\intermediates\res\debug\values\values.xml:94: error: Attribute "color" has already been defined发布于 2015-03-27 13:57:14
我读了@petey的答案后,问题就解决了。如果您查看错误消息中显示的行,就可以精确地确定哪个属性导致了问题。
在我的例子中,它是自定义color文件中的一个名为attrs的属性。那个自定义视图没有被使用,所以我只是评论了行和问题已经解决了。
可能的解决方案步骤
发布于 2015-03-30 19:21:30
您应该删除这一行。
compile 'com.android.support:support-v4:20.0.0'并使用appcompat使用的相同的依赖关系:
compile 'com.android.support:support-v4:21.0.+'另外,我建议修正21.0.3而不是21.0.+
发布于 2015-07-14 13:39:57
分级资源合并将来自所有依赖项的所有资源文件夹合并到单个文件夹中。如果存在重复的构建过程,则将失败。
幸运的是,如果您在下面的Output: label下面查看,您将找到解决问题的正确途径。
下面是一个例子

在你的例子中,它是android-support-v7-appcompat\res\values\attrs.xml:476: error: Attribute "attributeName" has already been defined
您还可以从命令行构建项目并获得正确的路径。attributeName在第476行的values\attrs.xml文件中,您可以找到一个名为"attributeName“的属性。最有可能是你自己的风格,你必须改变,以摆脱重复。
因此,现在,当您知道原因时,您可以在您的项目模块中找到该属性,并将其替换为不同的名称。
https://stackoverflow.com/questions/28928196
复制相似问题