Mam aplikację korzystającą z Google Maps Android v2 API. Dodałem google-play-services_lib
projekt biblioteki do mojego obszaru roboczego i dodałem odniesienie do niego z mojego projektu aplikacji, postępując zgodnie z instrukcjami na tych stronach:
- http://developer.android.com/google/play-services/setup.html .
- https://developers.google.com/maps/documentation/android/start
Wszystko wydaje się działać dobrze: aplikacja wyświetla mapy i nakładki z domyślnymi znacznikami. Jestem więc prawie pewien, że mam poprawnie skonfigurowane usługi Google Play i API Google Maps API.
Widzę jednak ten komunikat w oknie ADT LogCat przy każdym zainicjowaniu widoku mapy (na Nexusie 7 drugiej generacji):
The Google Play services resources were not found. Check your project configuration to ensure that the resources are included.
Poziom wiadomości to Błąd, a znacznik to GooglePlayServicesUtil
.
Wydaje się to łagodne, ponieważ moja aplikacja działa dobrze. Ale co mogę zrobić lub sprawdzić, aby spróbować rozwiązać problem?
Dalsze informacje: Za każdym razem, gdy komunikat „Nie znaleziono zasobów usług Google Play” pojawia się w LogCat, jest poprzedzony tymi komunikatami, które są Ostrzeżeniami i oznaczone ResourceType
:
getEntry failing because entryIndex 906 is beyond type entryCount 3
Failure getting entry for 0x7f0b038a (t=10 e=906) in package 0 (error -2147483647)
FWIW, nie mogę znaleźć stałej 0x7f0b038a w dowolnym miejscu podczas wyszukiwania projektów, w tym plików gen / R.java.
Sprawdziłem zawartość wygenerowanego pliku .apk i zawiera on wszystkie zasoby znajdujące się w google-play-services_lib/res
katalogu.
Kolejna aktualizacja: po dodaniu ActionBarSherlock i zaktualizowaniu targetSdkVersion w moim manifeście z 8 do 17, teraz widzę kolejny błąd w danych wyjściowych LogCat:
Could not find class 'maps.af.k', referenced from method 'maps.ag.an.a'
Więcej informacji na temat tego problemu można znaleźć tutaj: Mapy Google działają dobrze na Androidzie, ale nadal pojawia się błąd „Nie można znaleźć klasy„ maps.i.k ”, do której odwołuje się metoda maps.z.ag.a”
I znów aplikacja wydaje się działać dobrze. Może można bezpiecznie zignorować te „błędy”?
źródło
Project > Clean
). Zauważyłem, że czasami rozwiązuje to problemy z R.java/resource.Odpowiedzi:
Jest to błąd w bibliotece usług Google Play, który został zgłoszony tutaj pod numerem 755 .
Niestety nie ma jeszcze żadnego rozwiązania.
źródło
Najczęściej zadawane pytania dotyczące zestawu SDK do reklam mobilnych Google wskazują, że:
Więc jeśli poprawnie podałeś google-play-services_lib i otrzymujesz reklamy, nie masz się czym martwić (chyba ...)
źródło
Właśnie wpadłem na ten problem dziś rano i wydawało mi się bardzo dziwne, ponieważ moja aplikacja działała dobrze do dziś. Otrzymywałem dokładnie ten sam komunikat „Nie znaleziono zasobów usług Google Play ...”.
Próbowałem otworzyć zwykłą aplikację Google Maps, aby sprawdzić, czy mogę uzyskać swoją lokalizację, ale nie można jej znaleźć. Nawet po odczekaniu 5 minut, co jest wystarczającym czasem, aby normalnie uzyskać lokalizację nawet od usługodawcy za pośrednictwem wieży komórkowej. Więc sprawdziłem Usługi lokalizacji.
W każdym razie problem okazał się taki, że na moim S3 w obszarze Usługi lokalizacji -> Usługi lokalizacji Google . Nie zostało to sprawdzone. Pozostałe dwie opcje lokalizacji zostały sprawdzone ( usługi lokalizacyjne VZW i samodzielne usługi GPS ), ale ostatnia, usługi lokalizacyjne Google nie. Po włączeniu zwykłe Mapy Google mogą znaleźć moją lokalizację, a moja aplikacja może znaleźć moją lokalizację, a problem zniknął.
Komunikat o błędzie pojawia się z powodu:
gdy Usługi lokalizacyjne Google nie są włączone.
Po przeprowadzeniu kilku dalszych testów wygląda na to, że jeśli bieżąca lokalizacja jest pusta (nie można ustalić ze wszystkich źródeł), pojawi się ten błąd podczas próby włączenia setMyLocationEnabled.
źródło
Odkompilowałem bibliotekę wersji 14 usług Google Play. Myślę, że w tym jest błąd
com.google.android.gms.common.GooglePlayServicesUtil.class
. Powyższy ciąg występuje tylko w jednym miejscu:Nie ma
R.class
wcom.google.android.gms.common
pakiecie.Jest
import com.google.android.gms.R.string;
, ale nie ma zastosowaniastring.something
, więc myślę, że to jest błąd - powinien byćimport com.google.android.gms.R;
.Niemniej jednak
isGooglePlayServicesAvailable
metoda działa zgodnie z przeznaczeniem (oprócz rejestrowania tego ostrzeżenia), ale istnieją inne metody w tej klasie, które wykorzystują nieimportowaneR.class
, więc mogą wystąpić inne błędy. Chociaż banery w mojej aplikacji działają dobrze ...źródło
Musisz dodać
google-play-services-lib
jako projekt biblioteki. Zaktualizowali zestaw SDK . Wokół jest kilka samouczków. W przypadku Eclipse jest to łatwe:Bardziej szczegółowe instrukcje:
Importowanie projektu biblioteki
Jak uruchomić GoogleMaps na emulatorze
źródło
Też miałem ten problem. Sposób, w jaki to rozwiązałem, był następujący:
android-sdk-x/extras/google_play_services/libproject
. Podczas importowania projektu pojawia się opcja „Kopiuj projekt do obszaru roboczego”. ODKRYJ TO.To załatwiło sprawę. Mam nadzieję, że ci to pomoże!
źródło
Ten problem napotyka mnie, gdy korzystam z AdMob JUST, ponieważ zapomniałem wpisać mój identyfikator jednostki reklamowej
@string
.źródło
Miałem ten sam problem. W konsoli API Google należy sprawdzić, czy dla tej aplikacji jest wygenerowany tylko jeden klucz. Miałem odcinek, w którym przeprowadziłem migrację kodu z jednego komputera na drugi itd. (Zrobiło się bałagan) i miałem wiele kluczy do mojego jednego projektu. Wszystkie starsze klucze są wymienione jako nieaktywne na stronie konsoli API, ale z jakiegoś powodu spowodowały konflikt. Po ich całkowitym usunięciu uruchomiłem go ponownie i zadziałało.
źródło
Jeśli chodzi o mnie, rozwiązałem ten problem w inny sposób - jak mówi developer.android.com, po dodaniu google-play-services_lib powinieneś dodać
<meta-data android:name="com.google.android.gms.version" android:value="@integer/google_play_services_version" />
w swoim manifeście, ale w nowym SDK zawsze pojawi się błąd:Aby rozwiązać ten błąd, wiele osób zaleca użycie surowej wartości 4030500 zamiast
@integer/google_play_services_version
, ale jest to poprawne TYLKO w przypadku usług Google w wersji 13.Jeśli używasz dowolnej starszej wersji lub wersji dla Froyo (jak ja), powinieneś w niej dodać inną wartość. Aby dowiedzieć się, jaką wartość powinieneś umieścić, po prostu otwórz manifest usług Google Play i skopiuj i wklej wartość version_code. W przypadku usług Froyo jest to 3265130 . Po dodaniu tego przestałem otrzymywać ten błąd i w końcu zacząłem otrzymywać współrzędne w mojej aplikacji.
źródło
Dla mnie jedynym działającym rozwiązaniem było dodanie biblioteki android-support-v7-appcompat . Wydaje się, że ta biblioteka jest również potrzebna, aby pozbyć się tej wiadomości. Od tego czasu moje aplikacje działają dobrze!
Mam nadzieję, że to pomoże!
źródło
Miałem tutaj ten sam problem. Jak powiedział Magnus powyżej, dla mnie działo się to z powodu aktualizacji SDK do wersji 22.0.5.
Po wykonaniu pełnej aktualizacji w moim zestawie SDK systemu Android (w tym usługach Google Play) i wtyczkach systemu Android w środowisku Eclipse mogłem korzystać z biblioteki usług odtwarzania w mojej aplikacji.
źródło
Dla użytkowników IntelliJ IDEA
Po kilku dniach zmagań jedynym sposobem, aby działał w IntelliJ IDEA 13, było zaimportowanie biblioteki. Oto wszystkie kroki:
android-sdk-root/extras/google/google_play_services/libproject
katalogu.google-play-services_lib
i wklej go obok swojego projektu IntelliJ IDEA (niektórzy zalecają bezpośrednie użycie tego katalogu, ale radzę zachować ten kod w czystości!).google-play-services_lib
.google-play-services_lib
projekt biblioteki jako zależność do projektu głównego.google-play-services
bibliotekę jako bibliotekę zależności.Pod linkiem, który podałem poniżej, możesz zobaczyć obraz tego, jak to wygląda w mojej IntelliJ IDEA 13. Nie działałoby to bez dodania tylko jednego z tych dwóch.
PS. Zadałem pytanie: Dlaczego IntelliJ IDEA 13 wymaga zarówno projektu lib, jak i samej biblioteki lib (usługa Google Play) jako zależności? , dlaczego jest to konieczne w IntelliJ IDEA 13 i dlaczego nie możemy importować ani biblioteki, ani tylko projektu.
źródło
Java
,Maven
,Gradle
,JavaFX Application
,Command Line App
,Groovy
,Griffon
,Gradle: Android Module
,Gradle: Android Project
,Gradle: Java Library
). A następnie wybierz folder w poluContent root
. Czy możnaJava
wybrać odpowiedni typ modułu?Też miałem ten sam problem. Na początku działało to dobrze, ale jakiś czas później całkowicie odinstalowałem aplikację z urządzenia (działałem na telefonie komórkowym) i uruchomiłem ją ponownie, co pokazuje ten sam błąd.
Włączyłem całą bibliotekę i zasoby w trakcie jej działania, ale nadal otrzymywałem ten błąd, więc usunąłem wszystkie odniesienia i bibliotekę z mojej kompilacji projektu, zaktualizowałem usługę Google Play do wersji 10, całkowicie odinstalowałem aplikację z urządzenia, a następnie ponownie dodałem wszystkie zasoby i biblioteki lib, uruchomiłem je i zaczęło działać ponownie.
Jedną rzeczą do odnotowania tutaj jest to, że podczas pracy wciąż widzę ten komunikat o błędzie w moim LogCat , ale na moim urządzeniu działa teraz dobrze.
źródło
Też miałem ten sam problem. Próbowałem też szukać rozwiązań, ale gdy nie znalazłem żadnego z nich, próbowałem ponownie uruchomić telefon (urządzenie z Androidem) i to rozwiązało problem.
Spróbuj! Uruchom ponownie urządzenie mobilne i Eclipse, aby być po bezpiecznej stronie i sprawdź, czy działa.
źródło
Usunięcie następującego kodu naprawiłem!
źródło
LE: Właśnie sobie przypomniałem, że chodziło o korzystanie z Map Google, więc moja odpowiedź tak naprawdę nie odpowiada na pierwsze pytanie, ale mam nadzieję, że niektórzy ludzie zaoszczędzą godzin / dni, waląc głową w biurka, jeśli mają ten sam problem z usługami Play Game .
Ja też miałem ten niezwykle tajemniczy błąd. Nie miało to dla mnie nic wspólnego z usługami lokalizacyjnymi, ale z niepoprawnym odczytaniem dokumentacji , a dokładniej krok 3, w którym mówi się o dodaniu następujących elementów do
AndroidManifest.xml
:Oczywiście powinieneś mieć również następujące elementy
AndroidManifest.xml
Korzystałem z tych,
BaseGameActivity
które sugerują używać, gdy chcesz wdrożyć usługi gier, więc byłem trochę zaskoczony, że to nie zadziałało od razu. Stworzyłem dedykowany moduł dla kopiigoogle-play-services_lib
, miałem jego najnowszą wersję (w4323000
momencie pisania) i ustawiłem to jako zależność modułu od mojego głównego modułu (używając tutaj Android Studio). Ale ta mała linia powyżej naprawiła wszystko.źródło
Miałem ten sam problem. Jak powiedział Kristopher Johnson, wspomniałem o google-play-services_lib, ale to nie działało. Dodałem google_play_services_lib.jar (spójrz na swój SDK / folder google) w obszarze właściwości projektu / ścieżki kompilacji Java / bibliotek / zależności Androida i błąd zniknął.
źródło
Miałem dokładnie ten sam problem podczas pracy z kilkoma programistami. Jeśli uruchomię projekt z mojego ADT , działa dobrze, ale z ich nie jest ..
Odpowiedzią było umieszczenie klucza SHA-1 z nazwą pakietu w konsoli Google API, a także mojej. Jesteśmy trzema programistami, więc musieliśmy wprowadzić trzy klucze SHA-1.
Mam nadzieję, że da ci to trochę inspiracji ...
źródło
W moim przypadku oznaczało to, że w mojej implementacji jest jakiś błąd i mówi, że nie może znaleźć zasobu, aby komunikat o błędzie był poprawnie wyświetlany w LogCat . Kiedy naprawiłem ten błąd w mojej implementacji, problem z LogCat również zniknął. Tak więc, chyba że brakuje jakiegoś naprawdę niezbędnego zasobu, nie powinieneś koncentrować się na naprawie brakujących zasobów, a raczej na poprawieniu implementacji.
Błąd BTW polegał na tym, że wyświetlałem reklamy w trybie debugowania bez przechodzenia do trybu testowania reklam.
źródło
Uważam, że jest to błąd występujący w obecnej bibliotece usług Google Play, wersja 15, ponieważ przyczyną tego problemu wydaje się być brak odczytu pliku zasobów:
Wygląda na to, że biblioteka usług Google Play próbuje odczytać plik zasobu i ma ogólny catch-all, który wyświetla ten komunikat o błędzie, gdy zasób nie zostanie załadowany. Odpowiada to temu, co udało się krekerowi zdekompilować z biblioteki i wyjaśniłby komunikaty dziennika.
źródło
Wiesz, nie sądzę, że to błąd od SDK. „Nie znaleziono zasobów usług Google Play. Sprawdź konfigurację projektu, aby upewnić się, że zasoby są uwzględnione” jest dokładnie poprawne. Plik jar umieszczony w / libs nie zawiera żadnych zasobów, takich jak * xml, * png itp. Logi błędów to oznaczają. I jeśli kiedykolwiek dodane biblioteki wsparcia jak v4 , v7-AppCompat , V7 cardview , V7 recyclerview , v7-palety lub V7 GridLayout krótko, czasem występują dzienniki, które wskazują, że zasoby są. Wszystko to dlatego, że zasoby w projektach nie są importowane. Tak więc importuj projekty pomocnicze jako bibliotekę jak najszybciej. Oczywiście najpierw pobierasz projekty pomocy technicznej SDK Managerw pozycjidodatki
źródło
Miałem ten sam problem, że utworzyłem własny interfejs API, aby sprawdzić, czy usługa Google Play jest zainstalowana, czy nie, działa dobrze dla mnie. Wystarczy przekazać informacje o pakiecie usługi Google Play, która da ci wartość
poniżej znajduje się kod:
źródło