Jak pobrać usługi Google Play w emulatorze Androida?


88

Chcę używać interfejsu API usług Google Play w mojej aplikacji, ale kiedy otwieram emulator, aby przetestować moją aplikację, wysyła mi komunikat „Należy pobrać usługi Google Play”. Wiem, że tak się dzieje, ponieważ zakodowałem ten test w mojej MainActivitymetodzie onResume().
Chcę wiedzieć, jak mogę zainstalować usługi Google Play w moim emulatorze, ponieważ wkrótce będę musiał przetestować moje mapy.


1
Po prostu użyj najnowszej wersji AVD imageGoogle, która ma Google play serveicesosadzone. Sprawdź aktualizacje zSDK manager
Ujjwal Singh

Odpowiedzi:


79

Sprawdź Konfigurowanie usług Google Play, które mówi:

Aby opracować aplikację przy użyciu interfejsów API usług Google Play , musisz skonfigurować projekt za pomocą zestawu SDK usług Google Play.

Jeśli nie masz jeszcze zainstalowanego zestawu SDK usług Google Play, pobierz go teraz, postępując zgodnie z instrukcją dodawania pakietów SDK .

Aby przetestować swoją aplikację podczas korzystania z pakietu SDK usług Google Play, musisz użyć:

  • Zgodne urządzenie z systemem Android, które działa w systemie Android 2.3 lub nowszym i zawiera Sklep Google Play.
  • Emulator Androida z AVD, który obsługuje platformę Google API opartą na systemie Android 4.2.2 lub nowszym.

11
Pojawiły się aktualizacje, witryna programistów cytuje: „Emulator Androida z AVD, który obsługuje platformę interfejsów API Google opartą na systemie Android 4.2.2 lub nowszym”.
WindsurferOak

Próbowałem użyć Android API (wersja 4.3) i nie zadziałało, więc kluczem jest użycie Google API (wersja 4.3). Ponieważ miały ten sam numer wersji, nie zdawałem sobie sprawy, dlaczego na początku nie działa.
Skitterm,

11
Używam Google APIS ver. 22 z Intel x86_64. Nie działa.
Yar,

4
Ważne jest to, co napisał @Skitterm. AVD musi mieć jako cel Google API. Co ciekawe, wybranie niższego celu API niż 23 (Marshmallow) powoduje, że urządzenie próbuje zaktualizować usługi Google Play, co zawsze kończy się niepowodzeniem.
BoneGoat

Czy ktoś kiedykolwiek sprawił, że to zadziałało? Wygląda na to, że używanie obrazu Androida z Google API nie działa z Google Play.
LewlSauce

55

W przypadku api 21+ możesz użyć obrazu systemu w Google Play, jak opisuję poniżej.

W przypadku api 19+ (Android 4.4 Kitkat) możesz użyć obrazu systemu x86 z Google Api (mogłem go używać).

W przypadku api 17+ (Android 4.2.2) możesz SPRÓBOWAĆ użyć ARM obrazu systemu z Google Api (to nie działa dla mnie).

Udało mi się zainstalować Google Play i usługi Google jako osobne apki do czystych interfejsów API 16 i 17 obrazu systemu, ale po tym tak naprawdę nie działają (usługi miażdżą i nie otwierają się). Wygląda więc na to, że nie można zmusić ich do działania na czystym obrazie AVD, ponieważ powinny być instalowane z dostępem roota. To samo dotyczy aktualizacji usług Google w obrazie systemu AVD z preinstalowanym interfejsem Google API - nie można zaktualizować z powodu niezgodnych certyfikatów, nie można odinstalować nawet przy użyciu adb, ponieważ nie mają dostępu.


Jak skonfigurować obraz systemu AVD w Google Play

Teraz istnieje jeszcze lepsze rozwiązanie: używanie obrazu AVD z wbudowanymi usługami Google Play. Umożliwi Ci to korzystanie z usług Google, w tym Google Play. Będziesz mógł również zaktualizować go bez ponownego tworzenia obrazu AVD.

Otwórz menedżera AVD i wybierz opcję tworzenia nowego urządzenia. Powinieneś użyć definicji urządzenia z ikoną Sklepu Play.

1

Następnie wybierz dla niego obraz systemu. Powinieneś wybrać taki z Google Play, a NIE z Google API.

2

Następnie uruchom nowe urządzenie.

3

Możesz zaktualizować usługi Play, jak pokazano na zrzucie ekranu, lub ręcznie na urządzeniu.

4


Której wersji Android Studio należy użyć, aby mieć tę opcję?
ronenmiller

1
@ronenmiller Używam ostatniej stabilnej wersji, teraz jest to 2.3.3. Ale nie powinno to zależeć od wersji Android Studio. Zależy to od wersji obrazu systemu Android i być może od wersji Menedżera urządzeń wirtualnych Androida, ale nie jestem pewien co do ostatniej. Po prostu zawsze aktualizuję wszystko do ostatniej stabilnej wersji.
B-GangsteR

Nie jest dostępny w dniu 3.1.3
Emaborsa

@Emaborsa, czy wybrałeś obraz z Google Play czy Google API? Używam teraz Android Studio 3.1.4 i wszystko działa dobrze.
B-GangsteR

@ B-GangsteR Tak, zrobiłem
Emaborsa

16

W ten sposób sprawisz, że Android Google Maps API v2 będzie działać na Twoim emulatorze.


Utwórz nowy emulator

  • dla urządzenia wybierz „5,1 '' WVGA (480 x 800: mdpi)”
  • jako cel wybierz „Android 4.1.2 - poziom interfejsu API 16”
  • dla „CPU / ABI” wybierz „ARM”
  • pozostaw resztę domyślną

to są ustawienia, które działają dla mnie. Nie znam innych.


Uruchom emulator


zainstaluj com.android.vending-1.apk i com.google.android.gms-1.apk za pomocą polecenia instalacji ADB


Dłuższa odpowiedź znajduje się w moim poście na blogu dotyczącym tego problemu https://medium.com/nemanja-kovacevic/how-to-make-android-google-maps-v2-work-in-android-emulator-e384f5423723


2
Wiem, że to jest stare, aleFailure [INSTALL_FAILED_UPDATE_INCOMPATIBLE]
Laser Hawk,

2
Zrobiłem: Android Studio (2.2.3); Narzędzia -> Android -> Menedżer AVD; Utwórz urządzenie wirtualne ...; 5.1 "WVGA, Next; Nougat (7.1.1), Next; Finish. Wynikowy emulator nie miał ikony Sklepu Google Play.
William Entriken

Jeśli zainteresowanie nie jest związane z architekturą, wolę emulować moje projekty na procesorze / ABI x86-x84, używając procesora graficznego hosta. Emulacja różni się pod względem responsywności.
tedebus

1
linki są zepsute
Alberto M

1
Cześć Alberto, sytuacja zmieniła się w ciągu 5 lat od tej odpowiedzi, więc to prawdopodobnie nie rozwiąże twojego problemu.
Nemanja Kovacevic

6

Natknąłem się na inne rozwiązanie do korzystania z usług Google Play na emulatorze. Faceci na http://www.genymotion.com/ zapewniają bardzo szybkie emulatory, na których można zainstalować usługi Google Play. Wystarczy, że zarejestrujesz się, aby rozpocząć pobieranie i musisz zainstalować wirtualne pudełko. W tej chwili obsługują Androida 16 i 17, ale więcej jest w drodze.


17
Tak było, dopóki Google nie powiedział im, aby przestali zapewniać nieskończenie lepszą usługę niż kiedykolwiek wcześniej, i zmusili ich do wyrwania Sklepu Play ze swoich zdjęć.
Reck

5
Said Oh !, poszedłem stworzyć nowy emulator do testowania tabletów w mojej istniejącej aplikacji genymotion, przeczytałem twój komentarz i znienawidziłem ludzi, których nie znam ani przez sekundę.
Juan Cortés

genymotion był świetnym emulatorem, ale wygląda na to, że teraz nie działa z mapami :(
KansaiRobot

3

W aktualnej wersji (Android Studio 0.5.2) istnieje teraz typ urządzenia dla „Google APIs x86 (Google Inc.) - API Level 19”.


3

Kluczem jest, aby wybrać cel swojego emulatora, na przykład: Google API (ver 18) . Jeśli wybierzesz na przykład tylko Jellybean 18 (bez API), nie będziesz mógł testować aplikacji wymagających usług Google, takich jak map. Pamiętaj, że musisz najpierw pobrać Google API swojej ulubionej wersji za pomocą Menedżera Android SDK.

Jest to dobra praktyka i znacznie lepsza niż żonglowanie większością obejść.


2

Ostatnio próbowałem stworzyć aplikację google MAP API V2 i próbowałem uruchomić ją przez emulator, ale za każdym razem pokazywał mi błąd „Usługi Google Play nie są zainstalowane w tym telefonie”. Z mojej perspektywy nawet myślę, że google MAP API V2 nie działa na emulatorze.

Rozwiązanie

Potem próbowałem uruchomić ten sam przykład na mojej Sony Experia i znowu pokazał mi ten sam błąd. Potem zainstalowałem usługi Google Play na moim telefonie komórkowym i zadziwiająco zaczęło działać .. :)))


2

Mam to działające

  • Instalowanie usług Google Play za pośrednictwem Menedżera Android SDK
  • Korzystanie z urządzenia Galaxy Nexus (4,65 cala, 720 x 1280: xhdpi)
  • Kierowanie na Androida 4.2.2 Google API Level 17

2

Przejdź do https://university.xamarin.com/resources/working-with-android-emulators . Przewiń w dół do sekcji „Instalowanie usług Google Play”. Przejdź tam krok po kroku.

Bezpośrednio plagarowany z Xamarin tutaj, więc nie jestem obrzucany za łączenie i brak rozwiązania. Publikowanie tego, gdy znalazłem trafienie w stosie, zanim znalazłem rozwiązanie, które działało na całej planszy na stronie Xamarin.

  1. Uruchom Xamarin Android Player i uruchom jeden z dostarczonych obrazów, przy założeniu, że uruchomiono obraz KitKat Nexus 4. Pobierz odpowiedni plik .zip Usług Google Play ze strony www.teamandroid.com/gapps/. Upewnij się, że pobierasz obraz odpowiedni dla Twojej wersji Androida.
  2. Przeciągnij plik .zip do uruchomionego emulatora i upuść go, aby zainstalować komponent. Tutaj pokazujemy go w systemie Mac OS X, ale ten sam mechanizm jest używany w systemie Windows. Pojawi się monit o zainstalowanie pakietu w emulatorze, co oznacza, że ​​obraz zostanie ponownie uruchomiony
  3. Po ponownym uruchomieniu otrzymasz powiadomienie, że instalacja została zakończona, a obraz będzie miał teraz Mapy Google, Google+ i obsługę sklepu Google Play. Zwróć uwagę, że niektóre rzeczy nie działają poprawnie i możesz otrzymać kilka błędów z niektórych usług, ale możesz je bezpiecznie odrzucić i kontynuować instrukcje.
  4. Następnie musisz powiązać konto Google, aby móc aktualizować usługi za pomocą sklepu Google Play. Powinien Cię o to poprosić, ale jeśli tak się nie stanie, możesz przejść do Ustawień Google i dodać nowe konto. Po dodaniu konta możesz zaktualizować aplikacje Google, otwierając aplikację sklepu Google Play i przechodząc do ustawień z menu na pasku bocznym.
  5. Wybierz opcję Ustawienia, a następnie przewiń w dół do informacji o numerze wersji kompilacji i stuknij ją dwukrotnie, aż pojawi się informacja, że ​​jest aktualna lub że pobierze i zainstaluje nową wersję.
  6. Wyłącz urządzenie (naciśnij i przytrzymaj przycisk zasilania na pasku narzędzi po prawej stronie) i uruchom je ponownie. Po ponownym uruchomieniu powinien wskazywać, że musi zaktualizować usługi Google Play, dotknięcie powiadomienia otworzy Sklep Google Play i zainstaluje najnowszą wersję

Teraz możesz uruchamiać aplikacje zależne od Map Google w Xamarin Android Player.


0

Do najnowszej konfiguracji i informacji, jeśli zainstalowałeś Android Studio (tj. 1.5) i próbujesz wybrać SDK 4.0, możesz nie być w stanie zlokalizować i skonfigurować emulatora i AVD za pomocą SDK-vX.XX (z Google API).

Zobacz poniższe kroki, aby pobrać wymaganą bibliotekę i zacznij od tego. Konfiguracja emulatora AVD - konfiguracja emulatora dla SDK4.0 z GoogleAPI, aby aplikacja Map mogła działać - w Android Studio

Ale niestety powyższa metoda nie zadziałała dobrze po mojej stronie. Nie udało się utworzyć emulatora z poziomem interfejsu API 17 (SDK 4.2). Więc poszedłem za tym postem, który dobrze działał po mojej stronie. Powodem wydaje się, że okno tworzenia emulatora Android Studio ma ograniczone opcje / funkcje.

Usługi Google Play w emulatorze, implementacja przycisku logowania Google Plus itp


0

Wiem, że to stare pytanie, ale dotarłem tutaj, ponieważ miałem podobny problem jak wszyscy powyżej. Rozwiązałem to, czytając trochę bliżej!

Nie zauważyłem, że były 2 możliwe obrazy systemowe, z których mogłem wybierać, jeden zawierający interfejsy API Google i jeden, który nie (na moim laptopie menu było zbyt małe, abym mógł przeczytać dołączony tekst (z interfejsami API Google).

To głupia rzecz, której można przegapić, ale ktoś inny może mieć mały ekran, tak jak ja, i przegapić to: D


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.