Appcompat-v7: 21.0.0 ': не найден ресурс, который соответствует указанному имени: attr' android: actionModeShareDrawable '

При попытке использовать последнюю версию библиотеки поддержки appcompat-v7 в моем проекте, я получаю следующую ошибку:

/Users/greg/dev/mobile/android_project/app/build/intermediates/exploded-aar/com.android.support/appcompat-v7/21.0.0/res/values-v11/values.xml Error:(36, 21) No resource found that matches the given name: attr 'android:actionModeShareDrawable'. Error:(36, 21) No resource found that matches the given name: attr 'android:actionModeShareDrawable'. Error:(36, 21) No resource found that matches the given name: attr 'android:actionModeShareDrawable'. Error:(36, 21) No resource found that matches the given name: attr 'android:actionModeShareDrawable'. 

Как это исправить?

Хотя ответ loeschg абсолютно прав, я просто хочу рассказать об этом и дать решение для всех IDE (Eclipse, IntellJ и Android Studio), даже если ошибки немного различаются.


Предварительно требования

Убедитесь, что вы загрузили последние версии, а также Android 5.0 SDK через SDK-Manager.

Изображение диспетчера SDK


Android Studio

Откройте файл build.gradle вашего приложения-модуля и измените файл compileSdkVersion на 21. В основном нет необходимости изменять targetSdkVersion SDK-версии до 21, но рекомендуется, так как вы всегда должны targetSdkVersion версию Android-версии Android .
В итоге вы будете выглядеть так:

 android { compileSdkVersion 21 // ... defaultConfig { // ... targetSdkVersion 21 } } 

После этого обязательно синхронизируйте свой проект.

Android Studio Gradle Sync напоминание


Затмение

При использовании v7-appcompat в Eclipse вы должны использовать его в качестве проекта библиотеки. Недостаточно просто скопировать * .jar в папку /libs . Прочитайте это (щелкните) пошаговое руководство по сайту developer.android.com , чтобы узнать, как правильно импортировать проект.

Как только проект будет импортирован, вы поймете, что некоторые папки в папке /res подчеркнуты красным цветом из-за таких ошибок, как:

Ошибки в Eclipse

 error: Error retrieving parent for item: No resource found that matches the given name 'android:TextAppearance.Material'. error: Error retrieving parent for item: No resource found that matches the given name 'android:Widget.Material.*' error: Error: No resource found that matches the given name: attr 'android:actionModeShareDrawable'. 

Решение

Единственное, что вам нужно сделать, это открыть файл project.properties android-support-v7-appcompat и изменить цель с target=android-19 на target=android-21 .
После этого просто выполните Project --> Clean... чтобы изменения вступили в силу.


IntelliJ IDEA (без использования Gradle)

Совсем близко к Eclipse недостаточно использовать только android-support-v7-appcompat.jar ; Вам нужно импортировать appcompat в качестве модуля. Узнайте больше об этом в StackO-Post (нажмите) .
( Примечание. Если вы используете только .jar вы получите NoClassDefFoundErrors в Runtime )

Когда вы пытаетесь создать проект, вы столкнетесь с проблемами в папках res/values-v** . В окне вашего сообщения будет указано следующее:

 Error:android-apt-compiler: [appcompat] resource found that matches the given name: attr 'android:colorPrimary'. Error:(75, -1) android-apt-compiler: [appcompat] C:\[Your Path]\sdk\extras\android\support\v7\appcompat\res\values-v21\styles_base.xml:75: error: Error retrieving parent for item: No resource found that matches the given name 'android:Widget.Material.ActionButton'. // and so on 

Решение

Щелкните правой кнопкой мыши на модуле appcompat -> Открыть настройки модуля (F4) -> [вкладка зависимостей] Выберите платформу Android API 21 из выпадающего меню -> Apply

Выберите платформу API 21

Затем просто перестройте проект (Build -> Rebuild Project), и вы хорошо пойдете.

Вероятно, это связано с тем, что вы не установили в файле build.gradle свой файл compileSdkVersion compileSdkVersion 21. Вероятно, вы также захотите изменить targetSdkVersion на 21.

 android { //... compileSdkVersion 21 defaultConfig { targetSdkVersion 21 } //... } 

Для этого вам необходимо загрузить последние обновления SDK.

Android Studio SDK Manager

После того, как вы загрузите все обновления (не забудьте также обновить библиотеку поддержки Android / репозиторий!) И обновили вашу команду compileSdkVersion, повторно синхронизируйте проект Gradle.

Изменить: для пользователей Eclipse или общего пользователя IntelliJ

См. Ответ reVerse. У него очень тщательная прогулка!

`Выполните следующие шаги:

Его работа для меня. Чтобы решить эту проблему,

1.Right Щелкните на библиотеке appcompat_v7 и выберите Свойства

2. Теперь выберите вариант Android, задайте путь сборки проекта в качестве Android 5.0 (API-уровень 21). Примените изменения.

3. Теперь перейдите в файл project.properties в библиотеке appcompat_v7,

4. Задайте цель проекта как: target = android-21

5.Now Clean + Создайте библиотеку appcompat_v7 и ваши проекты.

Если вы не хотите использовать API 21 в качестве целевого API, и поэтому вы не хотите использовать тему материала, вам придется использовать более раннюю версию, относящуюся к API 19>

 compile "com.android.support:appcompat-v7:19.0.+" 

Это также помогает решить вашу проблему, это зависит только от того, чего вы хотите достичь.

Я столкнулся с этой проблемой с игровыми сервисами: 5.0.89. Модернизация до 6.1.11 решена.

В Android Studio я пытался установить для compileSdkVersion и targetSdkVersion значение 19 .

Моим решением было заменить внизу build.gradle :

 dependencies { compile fileTree(dir: 'libs', include: ['*.jar']) compile 'com.android.support:appcompat-v7:21.0.3' } 

Для старой версии библиотеки appcompat:

 dependencies { compile fileTree(dir: 'libs', include: ['*.jar']) compile 'com.android.support:appcompat-v7:19.+' } 

Обновление до последнего плагина gradle решает мою проблему:

 classpath 'com.android.tools.build:gradle:0.13.+' 

После создания второго проекта в рабочей области в eclipse у меня возникла эта проблема. Я считаю, что это потому, что я создал его с другой версией SDK, и это овело библиотеку android-support-v7-appcompat.

Я пытался очистить все, но безрезультатно. В конечном счете, вышеизложенное предложение изменить параметры project.properties и изменить target = android-21 и установить мой проект на Android 5.0, исправил его.

Я рекомендую: (Это работает со мной после многих дней с ошибками)

-Убедитесь, что вы скачали:

 - the Lastest SDK Platform from the latest Android version - Android Suppor Librarie and Repository from EXTRAS 

-Поддержка ADT

-Сделайте копию безопасности своего проекта.

-Вы должны иметь ADT, рабочее пространство и проект, которые мы будем импортировать на одном диске (например, C: /)

  1. Теперь удалите приложение и ваш проект.

  2. В eclipse: Файл> Импорт> Существующий проект Android> Далее> Обзор (папка с вашим ADT) / sdk / extras / android / v7 / appcompat> Импорт> Готово

  3. Теперь в eclipse Package Explorer: android-support-v7-appcompat / libs / Make на двух JARS: щелкните правой кнопкой мыши> Путь сборки> Добавить в путь сборки

  4. Щелкните правой кнопкой мыши на libs / folder> Buil Path> Настройте путь сборки и проверьте эти два JARS> OK

  5. На верхней панели затмения> Проект> Очистить

  6. Импорт проекта> Файл> Импорт> Обзор проекта> Готово

  7. Теперь щелкните правой кнопкой мыши файл проекта и android-support-v7-appcompat> Свойства> Android> И выберите последний API, который появится> OK

  8. Щелкните правой кнопкой мыши файл проекта> Свойства> Android> Добавить> android-support-v7-appcompat

  9. На верхней панели затмения> Проект> Очистить

Я получил ту же ошибку, когда я изменил версию SDK компиляции из API: 21 в API: 16. Проблема была в версии appcompat . Если вам нужно использовать устаревшую версию API для Android, вам также придется изменить эту версию appcompat. В моем случае ( для API: 16 ) мне пришлось использовать appcompat-v7: 19. + .

Поэтому я заменяю зависимости в build.gradle следующим образом:

 dependencies { compile fileTree(dir: 'libs', include: ['*.jar']) compile 'com.android.support:appcompat-v7:19.+' } 

И убедитесь, что у вас более старые версии версий appcompat на вашем SDK Введите описание изображения здесь

Я был в курсе всего и все еще получил эту ошибку, не знаю почему, но я думаю, что изображение было искажено странным образом, и после замены изображения я избавился от ошибки. Возможно стоит попробовать с другим изображением 🙂

Я добавил еще один проект в свое рабочее пространство и пытался ссылаться на него из файла манифеста, и я получал эту ошибку. Проблема в том, что я неправильно ссылался на библиотеку. Вот как я исправил проблему:

  • Щелкните правой кнопкой мыши по проекту
  • Выберите Свойства
  • Нажмите на Android в меню слева
  • Нажмите «Добавить»
  • Выберите проект библиотеки

Ящик перешел в папку Android Dependencies, и эта ошибка была исправлена.

Удостоверьтесь, что вы очищаете свой проект в студии Android (или затмении),

Он должен решить ваши проблемы

Моя проблема заключалась в том, что у меня были другие библиотеки, на которые ссылался мой проект, и в этих библиотеках была указана другая версия appcompat. Это то, что я сделал для решения проблемы:

(Вы должны создать резервную копию своего проекта, прежде чем делать это)

1) Я удалил все папки компоновки appcompat (например: / res / layout-v11).

2) Решил проблемы, которые возникли из-за этого, как правило, ошибка в menu.xml

3) Вернитесь к основному проекту и добавьте библиотеку appcompat, очистите и все будет работать!

Intereting Posts
Android Wifi прямого множественного соединения ad-hoc Android CheckBoxPreference – un / проверить все настройки Google Cloud Messaging показывает «notRegistered» при использовании распределенного приложения iOS Режим отладки в телефоне и подписка с лицензионным ключом Android: наблюдение за SMS для удаленных потоков Как создать JQuery Slider-подобную функцию на веб-приложении iPhone / Android? Добавление меню на экраны предпочтений детей Как скомпилировать и запустить программу C / C ++ в системе Android Android, scala и eclipse = неустойчивая смесь Очистить фокус EditText, когда кнопка возврата нажата, когда отображается экранная панель Android самый быстрый способ декодировать mp3 в pcm данные Не удалось подключиться к заводскому клиенту – борьба с Google Maps Не удалось импортировать новый проект Gradle: не удалось найти версию Build Tools * .0.0 Ошибка: метод add (int, Fragment, String) в типе FragmentTransaction не применим для аргументов (int, FragementTest, String) Android ProgressBar: загрузка с помощью таймера