2015-09-07 3 views
12

Я только что обновил поддержку дизайна материалов Lib до v23.0.1, и теперь мой код больше не компилируется.Атрибут "barLength" уже определен

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'. 

Что мне делать?

EDIT:

2 LIBS, что дает мне ошибку являются:

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

ответ

25

Убедитесь, что у вас нет атрибута с именем «barLength». В моем случае пользовательский ProgressWheel вызвал проблему, переименовал имя attr и проблему.

+0

Спасибо. У меня также есть длина бара для моего пользовательского шага прогресса. После того, как я переименую, проблема решена. Спасибо – YeeKhin

+0

Это была проблема tx –

+0

может потребоваться проверить attr.xml, у меня была та же проблема с пользовательским ProgressBar – HK1988

1

Убедитесь, что вы обновить библиотеки, которые используют библиотеку поддержки, чтобы использовать ту же версию, как библиотеки поддержки проекта

+0

Как я могу это сделать? Я думаю, что конфликт с lib, который использует: progressWheel: https://github.com/Todd-Davies/ProgressWheel, но я не знаю, как его модифицировать, поскольку он включен в Gradle. –

+0

Я думаю, что это может быть не так. правда. Я только что проверил указанную вами библиотеку и выяснил, что она не зависит от библиотеки поддержки. В любом случае, если проблема связана с одной из библиотек, которые вы используете через gradle, вы можете добавить библиотеку в качестве модуля в Android Studio (или в библиотеку в случае использования Eclipse) и вручную изменить ее зависимости. –

11

Ошибка android:TextAppearance.Material.Widget.Button.Inverse и android: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 (Шахта gradle-2.4)

Не забудьте изменить свой проект build.gradle использовать следующее:

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

, а также изменить ваш buildToolsVersion до 22.0.1.

Edit:

Я заметил, что вы используете ProgressWheel библиотеку, созданную Тодд Дэвис. Существует конфликт declare-styleable, то есть размер barLength. В этом случае вам нужно будет импортировать Progress Wheel в качестве модуля в Android Studio и изменить имя атрибута.

+0

Gradle 1.4 еще не выпущен https://jcenter.bintray.com/com/android/tools/build/gradle/ – Ricardo

+0

@ Последняя версия Ricardo - это Gradle 1.4 beta 6, я использую ее. –

+0

Спасибо, это помогло мне.У меня был модуль ProgressWheel в моем модуле. Сумасшедший, бесит, что мне так долго нужно было найти конфликт, он не сказал мне, где он был изначально определен, только там, где он был определен во второй раз. Приветствую вас за помощь! – Mullazman

Смежные вопросы