appcompat-v7: 21.0.0': nie znaleziono zasobów pasujących do podanej nazwy: attr 'android: actionModeShareDrawable'

Podczas próby użycia najnowszej biblioteki appcompat - V7 w moim projekcie pojawia się następujący błąd:

/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'.
Jak to naprawić?
Author: Jon Douglas, 2014-10-17

14 answers

Podczas gdy odpowiedź loeschg jest absolutnie poprawna, chcę tylko rozwinąć ją i dać rozwiązanie dla wszystkich IDE (Eclipse, IntellJ i Android Studio), nawet jeśli błędy nieznacznie się różnicują.


Wymagania wstępne

Upewnij się, że pobrałeś najnowszą extras oraz Android 5.0 SDK za pośrednictwem Menedżera SDK.

Zdjęcie menedżera SDK


Android Studio

Otwórz plik build.gradle swojego app-module i zmień compileSdkVersion na 21. Zasadniczo nie jest konieczne zmienianie wersji SDK targetSdkVersion na 21, ale zaleca się, ponieważ zawsze należy kierować najnowszą wersję kompilacji Androida.
W końcu gradle-file będzie wyglądał tak:

android {
    compileSdkVersion 21
    // ...

    defaultConfig {
        // ...
        targetSdkVersion 21
    }
}

Pamiętaj, aby zsynchronizować swój projekt później.

Android Studio Gradle Sync reminder


Eclipse

Podczas używania v7-appcompat W Eclipse musisz użyć go jako projektu bibliotecznego. Nie wystarczy skopiować *.słoik do folderu /libs. Proszę przeczytać this (click) krok po kroku tutorial na developer.android.com aby wiedzieć, jak poprawnie zaimportować projekt.

Jak tylko projekt zostanie zaimportowany, zdasz sobie sprawę, że niektóre foldery w folderze /res są podkreślone na Czerwono z powodu błędów, takich jak:

Błędy w 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'.

Rozwiązanie

Jedyne, co musisz zrobić, to otworzyć project.properties plik android-support-v7-appcompat I zmienić cel z target=android-19 na target=android-21.
Potem tylko zrób Project --> Clean..., aby zmiany weszły w życie.


IntelliJ IDEA (nie używa Gradle)

Podobnie jak Eclipse nie wystarczy używać tylko android-support-v7-appcompat.jar; musisz zaimportować appcompat jako moduł. Czytaj więcej na ten temat StackO-Post (kliknij) .
(Uwaga: jeśli używasz tylko .jar otrzymasz NoClassDefFoundErrors na Runtime )

Gdy próbujesz zbudować projekt, napotkasz problemy w folderach res/values-v**. Twoja wiadomość okno powie coś takiego:

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

Rozwiązanie

Kliknij prawym przyciskiem myszy na appcompat moduł -- > Otwórz Ustawienia modułu (F4) -- > [Karta zależności] Wybierz platformę Android API 21 z listy rozwijanej --> Zastosuj

Wybierz platformę API 21

Następnie po prostu Przebuduj projekt (Build --> Rebuild Project) i możesz iść.

 598
Author: reVerse,
Warning: date(): Invalid date.timezone value 'Europe/Kyiv', we selected the timezone 'UTC' for now. in /var/www/agent_stack/data/www/doraprojects.net/template/agent.layouts/content.php on line 54
2017-05-23 11:33:26

Jest to prawdopodobnie dlatego, że nie ustawiłeś compileSdkVersion na 21 w swojej kompilacji.plik gradle. Prawdopodobnie chcesz też zmienić swój targetSdkVersion na 21.

android {
    //...
    compileSdkVersion 21

    defaultConfig {
        targetSdkVersion 21
    }
    //...
}

Wymaga to pobrania najnowszych aktualizacji SDK na początek.

Android Studio SDK Manager

Po pobraniu wszystkich aktualizacji (nie zapomnij również zaktualizować biblioteki/repozytorium Android Support, too!) i zaktualizował swoje kompilacjedkversion, ponownie zsynchronizował swój projekt Gradle.

Edit: for Eclipse or general IntelliJ users

Zobacz odpowiedź odwrotną. Ma bardzo dokładny spacer!

 123
Author: loeschg,
Warning: date(): Invalid date.timezone value 'Europe/Kyiv', we selected the timezone 'UTC' for now. in /var/www/agent_stack/data/www/doraprojects.net/template/agent.layouts/content.php on line 54
2014-10-20 01:36:46

`wykonaj poniższe kroki:

Its working for me.To Rozwiąż ten problem,

1.Kliknij prawym przyciskiem myszy na bibliotece appcompat_v7 i wybierz Właściwości

2.Teraz kliknij opcję Android, Ustaw ścieżkę budowania projektu jako Android 5.0 (poziom API 21) Zastosuj Zmiany.

3.Teraz przejdź do projektu.Plik Właściwości w bibliotece appcompat_v7,

4.Ustaw cel projektu jako: target=android-21

5.Teraz Wyczyść + Zbuduj bibliotekę appcompat_v7 i twoje projekty "

 22
Author: madhu527,
Warning: date(): Invalid date.timezone value 'Europe/Kyiv', we selected the timezone 'UTC' for now. in /var/www/agent_stack/data/www/doraprojects.net/template/agent.layouts/content.php on line 54
2014-11-19 09:08:50

Jeśli nie chcesz używać API 21 jako docelowego API, a tym samym nie chcesz używać motywu Material, musisz użyć starszej wersji należącej do API 19 >

compile "com.android.support:appcompat-v7:19.0.+"
To również pomaga rozwiązać twój problem, zależy tylko od tego, co chcesz osiągnąć.
 12
Author: vandus,
Warning: date(): Invalid date.timezone value 'Europe/Kyiv', we selected the timezone 'UTC' for now. in /var/www/agent_stack/data/www/doraprojects.net/template/agent.layouts/content.php on line 54
2014-12-29 14:49:43

Napotkałem ten problem z play-services: 5.0.89. Aktualizacja do 6.1.11 rozwiązany problem.

 9
Author: pepyakin,
Warning: date(): Invalid date.timezone value 'Europe/Kyiv', we selected the timezone 'UTC' for now. in /var/www/agent_stack/data/www/doraprojects.net/template/agent.layouts/content.php on line 54
2014-10-17 20:03:27

W Android Studio próbowałem ustawić compileSdkVersion i targetSdkVersion na 19.

Moim rozwiązaniem było zastąpienie na dole build.gradle, from this:

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

Do starszej wersji biblioteki appcompat:

dependencies {
    compile fileTree(dir: 'libs', include: ['*.jar'])
    compile 'com.android.support:appcompat-v7:19.+'
}
 8
Author: Gianfranco P.,
Warning: date(): Invalid date.timezone value 'Europe/Kyiv', we selected the timezone 'UTC' for now. in /var/www/agent_stack/data/www/doraprojects.net/template/agent.layouts/content.php on line 54
2015-10-02 12:31:54

Dodałem inny projekt do mojego obszaru roboczego i próbowałem odwołać się do aktywności z niego w pliku manifestu i otrzymywałem ten błąd. Problem w tym, że źle odnosiłem się do biblioteki. Tak naprawiłem problem:

  • Kliknij prawym przyciskiem myszy projekt
  • Select Properties
  • Kliknij na Androida w lewym menu
  • Kliknij Dodaj
  • proszę wybrać projekt biblioteki

Słoik wszedł do folderu zależności Androida i ten błąd został naprawiony.

 3
Author: live-love,
Warning: date(): Invalid date.timezone value 'Europe/Kyiv', we selected the timezone 'UTC' for now. in /var/www/agent_stack/data/www/doraprojects.net/template/agent.layouts/content.php on line 54
2015-12-27 18:56:44

Upewnij się, że wyczyścisz swój projekt w android studio (lub eclipse),

To powinno rozwiązać Twoje problemy

 2
Author: Brendon Sled,
Warning: date(): Invalid date.timezone value 'Europe/Kyiv', we selected the timezone 'UTC' for now. in /var/www/agent_stack/data/www/doraprojects.net/template/agent.layouts/content.php on line 54
2014-10-18 16:30:18

Aktualizacja do najnowszej wtyczki gradle rozwiąż mój problem:

classpath 'com.android.tools.build:gradle:0.13.+'
 2
Author: avianey,
Warning: date(): Invalid date.timezone value 'Europe/Kyiv', we selected the timezone 'UTC' for now. in /var/www/agent_stack/data/www/doraprojects.net/template/agent.layouts/content.php on line 54
2014-11-06 20:00:37

Po utworzeniu drugiego projektu w obszarze roboczym w eclipse miałem taki problem. Wierzę, że to dlatego, że stworzyłem go z inną wersją SDK i to ovewrote Android-support-v7-appcompat biblioteki.

Próbowałem wszystko posprzątać, ale bezskutecznie. Ostatecznie powyższa sugestia do edycji projektu.właściwości i zmień target = android-21 i ustaw mój projekt na Android 5.0, naprawiono go.

 2
Author: formica,
Warning: date(): Invalid date.timezone value 'Europe/Kyiv', we selected the timezone 'UTC' for now. in /var/www/agent_stack/data/www/doraprojects.net/template/agent.layouts/content.php on line 54
2014-12-03 00:15:41

Polecam: (działa mi to po wielu dniach z błędami)

- Upewnij się, że pobrałeś:

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

- Redowload the ADT

-Zrób kopię bezpieczeństwa swojego projektu.

- musisz mieć ADT, obszar roboczy i projekt, który będziemy importować na tym samym dysku (np. C:/)

  1. Teraz Usuń aplikację compat i swój projekt.

  2. W eclipse: File > Import > Android existing project > Next > Browse (folder gdzie masz swój ADT)/sdk/dodatki/android/v7 / appcompat > Import > Finish

  3. Teraz w pakiecie eclipse Explorer: Android-support-v7-appcompat/libs / Make na dwóch słoikach: kliknij prawym przyciskiem myszy > Build Path > Add to Build Path

  4. Kliknij prawym przyciskiem myszy na libs / folder > Buil Path > Configure Build Path i zaznacz dwa słoiki > OK

  5. Na górnym pasku eclipse > Project > Clean

  6. Importuj swój projekt > Plik > Importuj > Przeglądaj swój projekt > Wykończenie

  7. Teraz kliknij prawym przyciskiem myszy na projectfile i Android-support-v7-appcompat > Properties > Android > i wybierz najnowsze API, które pojawi się > OK

  8. Kliknij prawym przyciskiem myszy plik projektu > właściwości > Android > Dodaj > Android-support-v7-appcompat

  9. Na górnym pasku eclipse > Project > Clean

 2
Author: juldeh,
Warning: date(): Invalid date.timezone value 'Europe/Kyiv', we selected the timezone 'UTC' for now. in /var/www/agent_stack/data/www/doraprojects.net/template/agent.layouts/content.php on line 54
2014-12-11 17:37:43

Otrzymałem ten sam błąd, gdy zmieniłem skompilowaną wersję SDK z API: 21 NA API: 16. Problemem była wersja appcompat . Jeśli chcesz użyć starszej wersji android API, więc musisz również zmienić tę wersję appcompat. W moim przypadku (dla API:16), musiałem użyć appcompat-v7:19.+.

Więc zamieniam zależności w build.gradle Jak Następuje,

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

I upewnij się, że masz starsze wersje wersji appcompat na swoim SDK Tutaj wpisz opis obrazka

 2
Author: mili,
Warning: date(): Invalid date.timezone value 'Europe/Kyiv', we selected the timezone 'UTC' for now. in /var/www/agent_stack/data/www/doraprojects.net/template/agent.layouts/content.php on line 54
2015-04-19 10:04:50

Byłem na bieżąco ze wszystkim i nadal mam ten błąd, Nie wiem dlaczego, ale myślę, że obraz został uszkodzony w dziwny sposób i po wymianie obrazu pozbyłem się błędu. Może warto spróbować z innym obrazem:)

 2
Author: DoruChidean,
Warning: date(): Invalid date.timezone value 'Europe/Kyiv', we selected the timezone 'UTC' for now. in /var/www/agent_stack/data/www/doraprojects.net/template/agent.layouts/content.php on line 54
2015-08-03 13:21:17

Mój problem polegał na tym, że miałem inne biblioteki, do których odwoływał się mój projekt i te biblioteki miały inną wersję appcompat. To jest to, co zrobiłem, aby rozwiązać problem:

(przed wykonaniem tego zadania powinieneś wykonać kopię zapasową swojego projektu)

1) usunąłem wszystkie foldery appcompat layout (np. /res / layout-v11).

2) rozwiązał problemy, które z tego wynikły, Zwykle błąd w menu.xml

3) wróć do głównego projektu i dodaj bibliotekę appcompat, clean i wszystko działa!

 1
Author: tricknology,
Warning: date(): Invalid date.timezone value 'Europe/Kyiv', we selected the timezone 'UTC' for now. in /var/www/agent_stack/data/www/doraprojects.net/template/agent.layouts/content.php on line 54
2015-02-19 18:03:25