2014-10-17 4 views
68

Я хотел обновить свой проект для поддержки Android Lollipop и API 21, поэтому я изменил версию AppCompat на зависимости от 21.0.0, и моего целевого SDK до 21.Lollipop AppCompat-v7 21 - Атрибут «тема» уже определен

Но теперь, когда я пытаюсь синхронизировать проект с Gradle файлами, это дает мне 102 errors, что там не было раньше:

1 ошибка "Attribute 'theme' has already defined" - учитывая мой colors.XML файл,

и еще 101 ошибка "no resources found that matches the given name..." - большинство из них - Materi al - задано "build/intermediates/exploded-aar/com.android.support/appcompat-v7/21.0.0/res/values-v11/values.XML".

Обновлено все инструменты SDK в программном обеспечении Android SDK, Использование Android Studio 0.8.9 Beta.

Может ли кто-нибудь помочь? Благодарю.

+1

https://stackoverflow.com/questions/26431676/appcompat-v721-0-0-no-resource-found-that-matches-the-given-name-attr-andro – CommonsWare

+0

обновите свой SDK на вопрос/ответ, связанный выше – gMale

ответ

122

У меня был первый номер. Это можно устранить, обновив зависимость Google Play Services до 6.1. +.

В Gradle (который я надеюсь, что вы используете), это: компиляции 'com.google.android.gms: играть-услуг:. 6,1 +

Что касается второго вопроса - как люди говорят, в комментариях вы должны убедиться, что ВСЕ компоненты в вашей установке SDK обновлены.

+3

Спасибо большое! Я изменил зависимость Служб Google Play, и это сработало! – user3184899

+0

Я обновил все компоненты, и я не пользуюсь услугами GPlay, но он все еще не работает ... У вас есть другая идея? EDIT: изменил все мои другие зависимости, заменив номера версий на «+», и он работает. Обратите внимание, что это всего лишь временное исправление – MathieuMaree

+0

@ tilal6991 Для меня ни один из приведенных ответов не работает, включая комментарии. Я даже пытался изменить свои инструменты построения, но не имел никаких эффектов. Heeeeelp !!!! : S –

17

У меня была такая же проблема, но обновление до последних версий не помогло.

Но сообщение об ошибке Attribute “theme” has already been defined изменено на Attribute “layout” has already been defined

В Google Play изменения Услуги Нашел

<declare-styleable name="WalletFragmentOptions"> 
     <!-- Theme to be used for the Wallet selector --> 
-  <attr name="theme" format="enum"> 
+  <attr name="appTheme" format="enum"> 

И это ключ.

Если у вас есть в вашем attr.xml атрибуты THEME или или Отчет на возможно что-то еще - переименовать его. Кажется, слияние не справляется с этим.

0

Иногда библиотека, которую вы используете, имеет этот атрибут. Я использовал библиотеку Sliding up panel, и во время сборки я получил следующую ошибку. Я следующий пункты в своих библиотеках зависимостей:

dependencies { 
    compile 'com.android.support:appcompat-v7:20.0.0' 
    compile 'com.sothree.slidinguppanel:library:+' 
    // ... 
} 

Я установил мою проблему путем удаления скользящих библиотек :(

+0

Теперь эта проблема в SlidingUpPanel исправлена. – tokudu

0

После добавления новой активности в моем проекте, похоже, Android Студия автоматически обновляется моя зависимость, после того, как что началась эта ошибка появляться

Я изменил следующие зависимости для последних библиотек совместимости:.

compile 'com.android.support:support-v4:21.0.3' 
compile 'com.android.support:appcompat-v7:21.0.3' 

в те, которые я имел в моем gradle.build до студии редактировали, не спрашивая меня:

compile 'com.android.support:support-v4:20.0.0' 
compile 'com.android.support:appcompat-v7:20.0.0' 

Тогда давайте студия сделать синхронизацию, и ваша сборка должна работать.

2

Gradle в студии Android предлагает последнюю версию com.google.android.gms:play-services. После обновления этой версии до последней версии проблема была решена.

компилировать 'com.google.android.gms:play-services:8.3.0'

0

Для Eclipse, пользователей:

  • идут с accepted answer from tilal6991
  • , но имейте в виду, что вы должны реимпортировать Google Play сервисный проект впоследствии

Поскольку, если вы следовали рекомендациям по установке gps, у вас есть только его копия в вашем рабочем пространстве, которое не будет получать upda Тед.

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