2015-12-19 9 views
14

otrzymuję ten błąd, gdy próbujesz użyć najnowszej Google Play Services SDK:Nie znaleziono zasobu, który pasuje dana nazwa „@android: styl/Theme.Material.Light.DialogWhenLarge.NoActionBar”

C:\Program Files (x86)\Android\android-sdk\extras\google\google_play_services\libproject\google-play-services_lib\res\values-v21\appinvite_styles.xml:5: error: Error retrieving parent for item: No resource found that matches the given name '@android:style/Theme.Material.Light.DialogWhenLarge.NoActionBar'. 

jestem targetting android-19, ale wypróbował również android-21 z tym samym rezultatem. Mam bibliotekę pomocy technicznej dla Androida: enter image description here

Jeśli korzystam ze starszej wersji Usług Google Play (wersja 21), błędu tego nie ma. Również nie ma folderu values-v21 we wcześniejszej wersji. Jak naprawić ten błąd?

EDYCJA: Próbowałem używać API 21, ale ten błąd trwa. w manifest.xml:

<uses-sdk android:minSdkVersion="21"   
     android:targetSdkVersion="21" /> 

w project.properties:

target=android-21 
+3

Ustaw "compileSdkVersion" na 21 lub więcej. A ponieważ domyślam się, że nadal korzystasz z Eclipse (mimo że oficjalne wsparcie kończy się za około 2 tygodnie), 'compileSdkVersion' odpowiada twojemu celowi kompilacji (Project> Properties> Android). Temat został dodany [na poziomie interfejsu API 21] (http://developer.android.com/reference/android/R.style.html#Theme_Material_Light_DialogWhenLarge_NoActionBar). – CommonsWare

+0

również zawsze martwię się o foldery ze spacjami (** zostały ukąszone w przeszłości **) Przesunąłbym twój SDK Androida z ** C: \ Program Files (x86) \ Android \ ** i do ** C: \ Android \ ** tylko po to, aby zaoszczędzić sobie niepokoju – Blundell

+0

Zrobiłem obie te rzeczy, a problem nadal istnieje – morpheus

Odpowiedz

22

następujące kroki

  • Kliknij prawym przyciskiem myszy, właściwości google-play-services_lib projektu
  • goto Java kompilatora i ustawić go na 1,5
  • goto android i ustawić build target do Android 6.0
  • upewnij się, że zainstalowano najnowszą aktualizację narzędzi SDK dla Androida i Google Play w swoim SDK

Zamknij projekt i otwórz go, pomaga też.

+1

Dla mnie, musiałem tylko zmienić mój projekt, by użyć "androida 6.0".nie musiałem zmieniać JDK dla 'google-play-services_lib' .. i to wystarczyło. Dzięki! – gnB

+0

Z całym szacunkiem jest to absurdalna sugestia i nie działa dla mnie. –

+0

@AndrewS Nie rozumiem, dlaczego uważasz, że to absurd. Wydaje się, że problem polega na tym, że importując projekt w środowisku Eclipse, wybiera on nieprawidłowe ustawienia domyślne dla tych właściwości. Projekt musi być skompilowany z Javą 1.5, ponieważ jest on wymagany do obsługi starszych wersji Androida, dla których jest to ostatnia akceptowalna wersja, i wymaga, aby cel kompilacji był wystarczająco wysoki, aby symbole, o które prosiły, istnieją; z jakiegoś powodu Eclipse wybrał dla mnie Java 1.6 i Androida 4.4.2. Zmiana na 1.5 i 5.0.1 działała bez zarzutu. – Jules

0

Nie używam żadnych IDE. Sposób, w jaki to naprawiłam, polegał na aktualizacji do gradle i ustawieniu compileSdkVersion na 23 lub innej opcji było pozostawienie wersji ant i starej wersji Usług Google Play (wersja 21), którą na szczęście sprawdziłem w repozytorium. (Menedżer SDK zawsze da ci najnowszą wersję, która w chwili pisania tego tekstu wynosi 29).

+0

, aby pobrać stare wersje usługi Google Play, przejdź do tego linku: http://stackoverflow.com/questions/20982533/how-to-download-older-google-play-services – Arash

4

Naprawiłem to, zmieniając manifest minSdkVersion w google-play-services_lib do minimalnej wersji SDK używanej przez moją aplikację. Przykład: <uses-sdk android:minSdkVersion="14"/>

+0

To również było częścią rozwiązania! – itzo