aktualizacja usług Google Play w Emulatorze

137

Przeszedłem przez wiele takich pytań w Google Play, używam Android 4.2.2 API 17 .

Moja aplikacja wymaga usług Google Play 8.1, kompiluje się dobrze, a gdy działa na emulatorze, wyświetla komunikat `` Musisz zaktualizować swoje usługi Google Play '' ,

Kiedy klikam aktualizację, nic się nie dzieje,

Jak mogę zaktualizować usługi Google Play bez pobierania najnowszej wersji API?

Jasio
źródło
1
Mało prawdopodobne, że nic się nie stanie. Bardziej prawdopodobne jest to, że w konsoli uruchamiania wystąpi błąd podobny do android.content.ActivityNotFoundException: No Activity found to handle Intent....
Kato
1
Od 2017 roku przyjęta odpowiedź nie jest już prawidłowa. Rada od @ user345280 dotycząca zakładki w oknie emulatora powinna być odpowiedzią zaakceptowaną.
Anthony Chuinard
Napotkałem ten problem kilka dni temu i żadna z odpowiedzi nie rozwiązała mojego problemu. Moje rozwiązanie zamieściłem na dole, może pomoże komuś, kto przyjedzie tutaj w 2019 roku.
Ban Markovic

Odpowiedzi:

85

Aktualizacja 18 grudnia 2017 r

Możesz zaktualizować usługi Google Play za pośrednictwem aplikacji Sklep Play w swoim emulatorze, tak jak na fizycznym urządzeniu z Androidem z API 24.

sprawdź nowe funkcje Emulatora dodane wraz ze stabilną aktualizacją z Android Studio v 3.0

Wsparcie Google Play - od Google: wiemy, że wielu programistów aplikacji korzysta z usług Google Play i może być trudno utrzymać aktualność usługi w obrazach systemu Android Emulator. Aby rozwiązać ten problem, oferujemy teraz wersje obrazów systemu Android, które zawierają aplikację Sklep Play. Obrazy Google Play są dostępne począwszy od Androida Nougat (API 24) . Dzięki tym nowym obrazom emulatora możesz aktualizować usługi Google Play za pośrednictwem aplikacji Sklep Play w swoim emulatorze, tak jak na fizycznym urządzeniu z Androidem. Ponadto możesz teraz testować kompleksowe przepływy instalacji, aktualizacji i zakupów w Sklepie Google Play.


Quick Boot - Quick Boot umożliwia wznowienie sesji emulatora Androida w mniej niż 6 sekund

Zgodność z systemem Android CTS

Ulepszenia wydajności - w najnowszych wersjach emulatora Androida przydzielamy pamięć RAM na żądanie, zamiast przydzielać i przypinać pamięć do maksymalnego rozmiaru pamięci RAM zdefiniowanego w AVD.

Wirtualne czujniki

Obsługa Wi-Fi

Lokalizacja GPS i wiele więcej ...

LUB

Zaktualizuj te narzędzia do tworzenia zestawu SDK i emulator systemu Android do najnowszej wersji, a ten komunikat ostrzegawczy nie pojawi się ponownie,

Ustawienia -> Android SDK -> SDK Tools (zakładka) -> Android SDK Build-Tools

wprowadź opis obrazu tutaj

Amit Vaghela
źródło
27
to po prostu nie działa, świeżo pobrane obrazy pochodzą z usług Google Play bez danych
FRR,
4
? Wszystkie emulatory (z Google API) są dostarczane z wersją usług Google Play, pytanie brzmi, jak zaktualizować ją do najnowszej wersji. Pobranie starszego interfejsu API powoduje uzyskanie nieco nowszej wersji, ale wciąż nie najnowszej. (coś, czego nie wspomniałeś w swojej odpowiedzi)
FRR
6
Przestań publikować linki do swojej odpowiedzi pod postami innych osób.
meagar
4
Wydaje się, że brakuje go w najnowszym API 27
JPM
10
Nie wygląda na to, że ta odpowiedź jest odpowiednia dla pytania, ponieważ pytają o „Android 4.2.2 API 17”, ale zaktualizowana odpowiedź ma znaczenie tylko dla API> = 24.
Liron Yahdav
77

Użyj emulatora z zainstalowanym Sklepem Play. Aktualizacja usług odtwarzania byłaby tak łatwa, jak w prawdziwym urządzeniu.

Odkąd Google wprowadził obrazy Google Play Store w Android SDK Tools 26.0.0, teraz emulatory są dostarczane z zainstalowanym Sklepem Google Play .

wprowadź opis obrazu tutaj

Od 26.0.3

  • Dodaje nową kartę w rozszerzonym oknie dla obrazów Sklepu Google Play, która wyświetla wersję Usług Play i przycisk do sprawdzania aktualizacji Usług Play.

ustawienia emulatora

user345280
źródło
17
Nie mam zakładki „Google Play” w moim rozszerzonym oknie. Co może być problemem?
K.Os
11
Czy używasz emulatora z zainstalowanym playstore? Sprawdź, czy masz menedżera sdk -> platformy sdk -> Android 8 -> obraz systemu Google Play ... zainstalowany. Pobierz to. Utwórz nowy emulator przy użyciu tego obrazu.
user345280
5
Działa na Android Studio 2.3.3. Utwórz nowe AVD, wybierz Nexus 5lub Nexus 5X(wiersze z ikoną Google Play), naciśnij Dalej, a następnie Pobierz Android 8.0 (Google Play)lub Android 7.0 (Google Play). Zwróć uwagę na (Google Play)obecny w nazwie zestawu SDK. @ user345280 może chcieć edytować odpowiedź i dodać te informacje.
Rafael Oliveira
2
Dzięki @RafaelOliveira. Od wieków próbowałem użyć Pixela i zastanawiałem się, dlaczego nie widzi mojego obrazu Google Play ... musi to być Nexus 5 lub 5X!
hughjdavey
12
Nie wydaje się, aby ta odpowiedź była odpowiednia dla pytania, ponieważ pytają o „Android 4.2.2 API 17”, ale ta odpowiedź ma znaczenie tylko dla API> = 24.
Liron Yahdav
18

Na podstawie dokumentacji Google ,

Jeśli chcesz przetestować swoją aplikację na emulatorze, rozwiń katalog dla systemu Android 4.2.2 (API 17) lub nowszej wersji, wybierz interfejsy API Google i zainstaluj je. Następnie utwórz nowy AVD z interfejsami API Google jako platformą docelową.

Spróbuj przejść do ustawień -> aplikacji w emulatorze, a następnie znajdź Usługi Google Play. Sprawdź numer wersji i użyj go w pliku build.gradle. Aby zaktualizować go do najnowszej wersji, możesz go zobaczyć w tej dokumentacji i pytaniu SO .

abielita
źródło
2
Dobra rada, ale i tak nie możesz używać starej wersji Usług Play do testowania funkcji, które wymagają nowszej wersji.
andreszs
17

Musisz zainstalować obraz Google Play, Android SDK -> platformy SDK -> sprawdź pokaż szczegóły pakietu -> zainstaluj Google Play. wprowadź opis obrazu tutaj

Houssin Boulla
źródło
16

Uruchomienie aplikacji na urządzeniu wirtualnym z obrazem systemu, „Google Play API” zamiast „Google API”, bezproblemowo rozwiąże Twój problem.

  • Urządzenia wirtualne Nexus 5x i Nexus 5 obsługują obraz „Google Play API”.

  • Interfejs API Google Play zawiera Nougat 7.1.1 i O 8.0.

Wystarczy wykonać poniższe proste kroki i upewnić się, że komputer jest podłączony do Internetu.

  1. Utwórz nowe urządzenie wirtualne, wybierając opcję Utwórz urządzenie wirtualne (lewy dolny róg) w Menedżerze urządzeń wirtualnych Android.

  2. Wybierz sprzęt „Nexus 5x” lub „Nexus 5”.

  3. Pobierz obraz systemu „Nougat” z Google Play lub „O” z Google Play. „O” to najnowsza wersja Androida 8.0.

  4. Kliknij Dalej i Zakończ.

  5. Uruchom aplikację ponownie na nowym urządzeniu wirtualnym i kliknij opcję „Uaktualnij teraz”, która pojawia się wraz z komunikatem ostrzegawczym.

  6. Nastąpi przekierowanie do Sklepu Play i możesz łatwo zaktualizować swoje usługi Google Play.

Zobacz, jak Twoja aplikacja działa płynnie!

  • Uwaga : jeśli planujesz używać interfejsów API z usług Google Play, musisz użyć obrazu systemu Google APIs.
Michel
źródło
2
Hmm, nie ma Google Play API.
żywo
1
Dzięki wielkie. To zadziałało dla mnie. Nie mogłem uruchomić loginu od czasu aktualizacji do Android Studio 3.0.
pvella
7
Nie wydaje się, aby ta odpowiedź była odpowiednia dla pytania, ponieważ pytają o „Android 4.2.2 API 17”, ale ta odpowiedź ma znaczenie tylko dla API> = 24.
Liron Yahdav
8

odpowiedzi na tej stronie umykały mi, dopóki nie znalazłem opcji pokaż szczegóły pakietu

wprowadź opis obrazu tutaj

abbood
źródło
7

Moją odpowiedzią nie jest aktualizacja usługi Google Play, ale obejście. Pobierz wersję usługi odtwarzania emulatora, używając następującego kodu

getPackageManager().getPackageInfo("com.google.android.gms", 0 ).versionName);

Na przykład, jeśli wartość to „9.8.79”, użyj najbliższej mniejszej dostępnej wersji com.google.android.gms: play-services: 9.8.0 '

To rozwiąże Twój problem. Pobierz historię wydań z https://developers.google.com/android/guides/releases#november_2016_-_v100

Ganesh Kanna
źródło
1
Czy możesz wyjaśnić, co masz na myśli, mówiąc „użyj najbliższej mniejszej wersji”? Jak tego „używać”? Jeśli wiem, że mój emulator Android Studio używa wersji 8.0.87, to co dokładnie mam zrobić z tymi informacjami? Czy jest coś w pliku manifestu lub pliku gradle, które muszę ustawić?
Marc
możesz użyć 7.8
Ganesh Kanna
2

Wiem, że to późna odpowiedź, ale miałem ten sam problem przez ostatnie dwa dni i żadne z powyższych rozwiązań nie zadziałało. Moja aplikacja obsługuje min sdk 16, Jelly Bean 4.1.x , więc chciałem przetestować swoją aplikację na emulatorze z 16 wersją Android API i potrzebowałem usług Google Play.

Krótko mówiąc, rozwiązanie, które zadziałało dla mnie to:

  • zrobić nowy emulator Nexus 5X (z obsługą Sklepu Play) - Jelly Bean 4.1.x, poziom API 16 (BEZ API Google)
  • ręcznie pobierz apki z Google Play Store i Google Play Services (konieczne, aby oba apki miały podobną wersję, muszą zaczynać się od tego samego numeru, na przykład 17.x)
  • przeciągnij i upuść te apki do nowego emulatora
  • gratulacje, zaktualizowałeś Usługi Google Play w emulatorze 4.1.x.

Oto kroki i błędy, które napotkałem podczas problemu.

Zrobiłem więc nowy emulator w moim AVD. Wybrałem Nexusa 5X (z obsługą Sklepu Play). Następnie wybrałem poziom API Jelly Bean 16 (z Google API). Kiedy otworzyłem okno mojej aplikacji, pojawiło się okno dialogowe z komunikatem Musisz zaktualizować swoje usługi Google Play . Kiedy kliknąłem przycisk Aktualizuj, nic się nie stało. Zaktualizowałem wszystko, co niezbędne w menedżerze SDK, ale nic nie działało. Nie zainstalowałem Sklepu Google Play na moim emulatorze, mimo że wybrałem Nexusa 5X, który jest dostarczany z preinstalowanym Sklepem Play. Więc nie mogłem znaleźć karty Sklep Google Play w rozszerzonych kontrolach (kropki drzewa obok mojego emulatora).

Ponieważ nic nie działało, postanowiłem spróbować ręcznie zainstalować Usługi Google Play, pobierając APK i przeciągając go do emulatora. Kiedy próbowałem tego, napotkałem problem. Nie udało się zainstalować APK. Błąd: INSTALL_PARSE_FAILED_INCONSISTENT_CERTIFICATES . Pomyślałem, że to jest problem, ponieważ wybrałem poziom API Jelly Bean 16 (z Google API) . Zrobiłem więc nowy emulator

Nexus 5X (z obsługą Sklepu Play) - poziom interfejsu API Jelly Bean 16 ( BEZ interfejsów API Google)

Pozwoliło mi to ręcznie zainstalować usługę Google Play. Ale kiedy uruchomiłem moją aplikację, nadal nie chciałem jej otwierać. Problem polegał na tym, że w moim emulatorze brakowało sklepu Google Play. Więc zainstalowałem go ręcznie, jak usługa Google Play. Ale po pomyślnym zainstalowaniu co sekundę zaczęło pojawiać się okno dialogowe z komunikatem Niestety usługi Google Play zostały zatrzymane . Problem polegał na tym, że wersja mojego sklepu Google Play to 17.x, a usługa Google Play to 19.x. Więc na koniec zainstalowałem usługę Google Play w wersji 17.x i wszystko działało.

Ban Markovic
źródło
Jak pobrałeś i zainstalowałeś apki?
CoolMind
@CoolMind wystarczy pobrać je z apkmirror.com (szukaj w usługach Google Play apk apkmirror). Kiedy je pobierzesz, po prostu przeciągnij i upuść pliki apk do swojego emulatora.
Ban Markovic
Dzięki! Też o tym myślałem, ale nie byłem pewien. Spróbuję. Czy korzystałeś z wersji 17 lub nowszej?
CoolMind
1
Żaden problem, mam nadzieję, że rozwiążesz swój problem. Użyłem 17 wersji GPS, ale myślę, że możesz użyć dowolnej nowszej wersji. Oto artykuł z trochę więcej informacji na temat mojego rozwiązania medium.com/@banmarkovic/ ...
Ban Markovic
1
Nie jestem pewien, czy zrozumiałem wszystko, co powiedziałeś. Ale unikałbym wersji armeabi-v7a apków i emulatorów i spróbuję wszystkiego tylko z architekturą x86 (apki i emulator).
Ban Markovic
1

Miałem ten sam problem. Po prostu unikaj używania emulatora z SDK 27. SDK 26 działa dobrze!

Estevão Lucas
źródło
0

Zmierzyłem się z tym samym problemem. Zaktualizowałem moje studio Android i użyłem docelowego API 25 jako Androida 7.1.1 i X86 i wszystko działało dobrze. W moim projekcie używam usług Google Play i Firebase

Mahesh N
źródło
0

2020, błąd Usługi Google Play są nieaktualne. Wymaga 12451000, ale znaleziono 11743470

po prostu zaktualizuj usługi Google Play z Google Play po zalogowaniu się na ważne konto.

PS: Próbowałem różnych wersji emulatora, ale wszystkie są wymagane do aktualizacji usług Google Play.

Bogdan M.
źródło