属性“barLength”已经定义

我刚刚将Material Design Support Lib更新到v23.0.1,现在,我的代码不再编译了。

Attribute "barLength" has already been defined /Users/admin/Documents/workspace/MyApp/app/build/intermediates/exploded-aar/com.android.support/appcompat-v7/23.0.1/res/values-v23/values-v23.xml Error retrieving parent for item: No resource found that matches the given name 'android:TextAppearance.Material.Widget.Button.Inverse'. Error retrieving parent for item: No resource found that matches the given name 'android:Widget.Material.Button.Colored'. 

我该怎么办?

编辑:

给我错误的2个库是:

 compile 'com.android.support:design:22.2.0' compile 'com.android.support:appcompat-v7:22.2.0' 

确保您没有任何名为“barLength”的属性。 在我的情况下,自定义ProgressWheel导致该问题,重命名attr名称和问题已解决。

android:TextAppearance.Material.Widget.Button.Inverseandroid:Widget.Material.Button.Colored错误是由于你仍在使用Android Lollipop(API 21)编译器。 将compileSdkVersion更改为23。

Attribute "barLength" has already been defined错误是由于您的Gradle版本已过时。 转到Preference – > Build, Execution, Deployment – > Build Tools – > Gradle ,将Gradle home更改为最新的Gradle版本(Mine is gradle-2.4

请记住更改项目build.gradle以使用以下内容:

 dependencies { classpath 'com.android.tools.build:gradle:1.4.0' } 

并将buildToolsVersion更改为22.0.1

编辑:

我注意到你正在使用由Todd Davies创建的ProgressWheel库。 存在一种declare-styleable的冲突,即barLength维度。 在这种情况下,您需要将Progress Wheel作为模块导入Android Studio并更改属性的名称。

确保更新使用支持库的库以使用与项目支持库相同的版本

buildToolsVersion 21 targetSdkVersion“22.0.1”