Dodajesz wersję usług Google Play do manifestu swojej aplikacji?


88

Śledzę ten samouczek: https://developers.google.com/maps/documentation/android/start#overview, jak dodać Mapy Google do aplikacji w Android SDK.

Wydaje się, że jedyny problem, jaki mam, dotyczy tego fragmentu (wszystko inne zrobiłem bez błędów):

Edit your application's AndroidManifest.xml file, and add the following declaration within the

 <application> element. This embeds the version of Google Play services that the app was compiled with.

 <meta-data
 android:name="com.google.android.gms.version"
 android:value="@integer/google_play_services_version" />

The error is:
   No resources found that match the given name (at 'value' with value '@integer/    
   google_play_services_version').

Próbowałem zastosować rozwiązanie tej osoby do tego samego problemu: aktualizacja biblioteki usług Google Play i brakujący symbol @ integer / google_play_services_version

ale nadal otrzymuję ten sam błąd. Proszę o pomoc?


Jeśli Eclipse sprawia ci kłopoty, spróbuj to zrobić: stackoverflow.com/a/19990244/166921
Kamil Szot

Odpowiedzi:


100

Prawdopodobnie twoja biblioteka nie jest poprawnie połączona z projektem lub masz starszą wersję biblioteki usług Google Play, więc pojawia się konflikt i Eclipse stało się głupie ..: S

Nie, nie musisz niczego dodawać w integers.xml. Po prawidłowym połączeniu biblioteki usług Google Play do Twojego projektu android:value="@integer/google_play_services_version"zostanie znaleziona referencja i jesteś gotowy do pracy. Kiedy dodajesz bibliotekę do swojego projektu, po prostu zrób jeszcze jedno czyste, tak zabawne środowisko Eclipse, które porządnie wymierza rzeczy.

Jeśli zakodujesz gdzieś ten numer, gdy pojawi się następna wersja gry, będziesz musiał go zaktualizować. A jeśli o tym zapomnisz, znowu będziesz szukał błędu ...: S

Mam nadzieję, że to pomogło. ;)


1
tak, w Android Studio dodałem usługę Google Play jako moduł (nie jako bibliotekę), ale zapomniałem dodać ten moduł do modułu mojego projektu, w którym znajduje się plik manifestu. To rozwiązało problem :)
Ragaisis

18
Dzięki, to rozwiązało mój problem. Aby uzyskać idiotyczny przewodnik krok po kroku dotyczący odwoływania się do projektu biblioteki w Eclipse / ADT, zobacz dokumentację Google Tools . Najwyraźniej jestem idiotą, ponieważ próbowałem dodać bibliotekę pod „Ścieżka budowania Java: Biblioteki” - nic nie działa.
Jeffro,

Przepraszam za spóźnioną odpowiedź, ale tak, to był problem, biblioteka nie była poprawnie połączona z moim projektem!
Adz

1
Jak to zrobić dla Ant?
Dzmitry Lazerka

2
Jeśli to pomogło, musiałem zrobić jeszcze kilka kroków w Android Studio. Poszedłem do: Struktura projektu -> Aplikacja -> Zależności -> kliknij +, aby dodać opcję dla Biblioteki -> usługi odtwarzania (xxx). Wystąpił błąd, gdy odbudowałem, a dodana biblioteka to usługi Play ... 0.0. Brakowało mi repozytoriów Google Play z Menedżera SDK w ramach dodatków. Kiedy wróciłem i powtórzyłem te kroki, Biblioteka miała teraz aktualny numer wersji i została pomyślnie odbudowana.
natur3

36

Mam rozwiązanie.

  • Krok 1: Kliknij prawym przyciskiem myszy swój projekt w eksploratorze pakietów (lewa strona w zaćmieniu)
  • Krok 2: Goto Android.
  • Krok 3: W sekcji Biblioteka Dodaj bibliotekę ... (google-play-services_lib)
    zobacz poniżej przyciski

    • Skopiuj projekt biblioteki pod adresem

    <android-sdk>/extras/google/google_play_services/libproject/google-play-services_lib/

    • do lokalizacji, w której utrzymujesz projekty aplikacji na Androida. Jeśli używasz Eclipse, zaimportuj projekt biblioteki do swojego obszaru roboczego. Kliknij pozycję plik> Importuj, wybierz pozycję Android> istniejący kod systemu Android do obszaru roboczego i przejdź do kopii projektu biblioteki, aby go zaimportować.
    • Kliknij tutaj, aby uzyskać więcej informacji.
  • Krok 4: Kliknij Zastosuj
  • Krok 5: Kliknij OK
  • Krok 6: Odśwież swoją aplikację z Eksploratora pakietów.
  • Krok 7: zobaczysz, że błąd zniknął.

30

od tutaj

Powinieneś odwoływać się do kopii biblioteki, którą skopiowałeś do swojego programistycznego obszaru roboczego - nie powinieneś odwoływać się do biblioteki bezpośrednio z katalogu Android SDK.

Napotkałem ten błąd, ponieważ odwołałem się do oryginalnej kopii z katalogu SDK. Upewnij się, że najpierw skopiujesz bibliotekę do obszaru roboczego systemu Android i odwołujesz się tylko do niej. W eclipse możesz to zrobić zaznaczając opcję „Kopiuj projekty do obszaru roboczego” podczas importowania projektu.


3
aiaiai, straciłem godziny, ponieważ nie zaznaczałem tego pola ... cieszę się, że znalazłem tę odpowiedź! Powinno być jaśniejsze w Dokumentacji Google.
Marius Hilarious

I to był mój problem, do wszystkiego odwoływano się tak, jak powinno, z wyjątkiem tego, że folder źródłowy google lib nie został skopiowany do mojego obszaru roboczego
JustADev

Ta poprawka też działała dla mnie. Ale zastanawiam się, jaka jest różnica techniczna?
sivag1

Google powinien zaktualizować zrzut ekranu / instrukcje tutaj: developers.google.com/+/mobile/android/getting-started
ban-geoengineering

22

W Android Studio możesz to naprawić, po prostu dodając to do pliku Gradle:

compile 'com.google.android.gms:play-services:6.5.87'

EDYTOWAĆ

Teraz, ze względu na aktualizacje i nowy Gradle API, linia, której powinieneś użyć, to:

implementation 'com.google.android.gms:play-services:12.0.0'

Jeszcze jedna ważna wskazówka : unikaj korzystania z dołączonej wersji usług Google Play, ale rozważ zadeklarowanie tylko zależności, które Twoja aplikacja potrzebuje, aby zmniejszyć jej rozmiar, a także ograniczyć niepotrzebne trafienia do limitu metod 65 tys. Coś takiego (np. W przypadku Map) byłoby lepsze niż ogólne wykorzystanie usług gier powyżej:

implementation 'com.google.android.gms:play-services-maps:12.0.0'

Dzięki - to pomogło. Próbuję zrobić ten samouczek i napotkałem ten błąd, a twoje rozwiązanie pomogło mi: github.com/googledrive/android-demos
Simon

1
Musiałem tylko wyczyścić projekt, po synchronizacji gradle, i zniknął brakujący błąd liczby całkowitej. To też działa dobrze:compile 'com.google.android.gms:play-services-appindexing:7.8.0'
Someone Somewhere,

2
Wiem, że to stara Q / A, ale ludzie wciąż się na nią natknęli, więc sensowne było zaktualizowanie jej do nowych API AS3 i Gradle i podkreślenie potrzeby używania konkretnej biblioteki zamiast całego pakietu. Mam nadzieję, że oryginalny autor nie ma nic przeciwko
Ewoks

7

Po prostu dodaj odniesienie do biblioteki, przejdź do Propertes-> Android, a następnie dodaj bibliotekę.

wprowadź opis obrazu tutaj

następnie dodaj do siebie AndroidManifest.xml

   <meta-data
            android:name="com.google.android.gms.version"
            android:value="@integer/google_play_services_version" />

3

Miałem ten sam problem w Android Studio 1.2.1.1. To tylko liske, które mówiły inne odpowiedzi, jednak nie byłem w stanie znaleźć, gdzie dodać zależności. Wreszcie znalazłem to w Plik-> Struktura projektu-> Zależności To menu da ci opcję dodania zależności do biblioteki usług Google Play.


+1 za pomoc w niejasnej nawigacji w AS 1.2. Dziękuję Ci! W moim przypadku nie pomogło to, że pracowałem nad projektem przekazanym przez innego programistę i nigdy nie zainstalowałem właściwej wersji biblioteki usług odtwarzania za pomocą menedżera SDK: $. Po pobraniu / zainstalowaniu biblioteki wróciłem i ponownie usunąłem / dodałem, a błąd kompilacji zniknął.
Anne Gunn,


2

W moim przypadku musiałem zainstalować repozytorium Google z menedżera SDK.


1

Otrzymałem ten sam błąd; Wcześniej zainstalowałem google-play-services_lib dla Map Google (i działało dobrze), ale później, gdy później próbowałem dodać wpis metadanych do mojego manifestu, pojawiał się błąd. Wypróbowałem wszystkie powyższe sugestie, ale nic nie mogło ich właściwie połączyć; W końcu usunąłem link z mojego projektu (project-properties-Android, usunąłem bibliotekę google-play-services_lib), następnie usunąłem z obszaru roboczego Eclipse, usunąłem pliki na dysku i na koniec użyłem menedżera SDK do ponownej instalacji od zera.

Wydawało się, że to w końcu zadziałało; teraz Eclipse zdecydował, że pozwolę mi pozostawić wpis metadanych bez błędów.


Miałem ten sam błąd, kopia biblioteki google-play-services w moim obszarze roboczym była stara (więc nie zawierała zasobów całkowitych) i zastąpienie biblioteki zaktualizowaną wersją załatwiło sprawę.
Bianca Daniciuc

0

Możesz zmienić obszar roboczy i rozwiązać ten problem, a następnie zaimportować naprawiony projekt z powrotem do głównego obszaru roboczego. Również te 4 kroki powinny mieć nadzieję, że pomoże to komuś w przyszłości.


0

Ten błąd może również wystąpić, gdy pobierzesz nową wersję usług Google Play i nie zainstalujesz najnowszego pakietu SDK. To właśnie mi się przytrafiło. Tak więc, jak wspomnieli inni, jeśli spróbujesz zaimportować Usługi Google Play, a następnie otworzysz konsolę, zobaczysz błąd kompilacji. Spróbuj zainstalować wszystkie najnowsze zestawy SDK systemu Android i spróbuj ponownie, jeśli tak jest.


0

Zrobiłem następujące kroki, aby się z tego wyleczyć:

1) Zaimportuj usługi Google Play jako projekt do zestawu SDK z systemem Android. W moim systemie znajduje się w C: \ adt-bundle-windows-x86_64-20140702 \ sdk \ extras \ google \ google_play_services \ libproject \ google-play-services_lib

2) Twoja aplikacja na Androida -> właściwości -> Android

W oknie

2.1) Kliknij API Google w celu budowania projektu 2.2) Dodaj usługi Google Play w dolnej ramce i kliknij OK

Mam nadzieję, że zawiera jasne instrukcje, co robić !!

Dzięki.


0

W moim przypadku musiałem skopiować FOLDER google-play-services_lib na tym samym DYSKU kodów źródłowych moich aplikacji

  • F: \ Products \ Android \ APP * .java <- Moje aplikacje są tutaj, więc skopiowałem do folderu poniżej
  • F: \ Products \ Android \ libs \ google-play-services_lib

0

Po prostu usunięcie biblioteki usług Google Play z projektu i ponowne dodanie z sdk->extras->googlefolderu rozwiązało mój problem doskonale.


0

W moim przypadku po prostu ponownie uruchamiam Eclipse i działa.

Pracuję od 2 tygodni bez wyłączania, myślę, że to szaleje.

Dzięki za sugestię, choć Ewoki!


0

Zastąp kod wersji odpowiednim kodem wersji biblioteki, aby rozwiązać problem, na przykład:

 <integer name="google_play_services_version"> <versioncode> </integer>


-37

Konieczne będzie dodanie pliku „integers.xml” do folderu „res / values” projektu. Zawartość pliku powinna być ...

<resources>
    <integer name="google_play_services_version">4030500</integer>
</resources>

6
nigdy tego nie rób, to nie jest dynamiczne.
panchicore

2
To jest dokładnie niewłaściwa rzecz. Zobacz odpowiedź Ewoksów na stackoverflow.com/a/20068489/1450294
Michael Scheper,
Korzystając z naszej strony potwierdzasz, że przeczytałeś(-aś) i rozumiesz nasze zasady używania plików cookie i zasady ochrony prywatności.
Licensed under cc by-sa 3.0 with attribution required.