Искам да използвам API на услугите на Google Play в приложението си, но когато отворя емулатора, за да тествам приложението си, той ми изпраща съобщение, което гласи „Услугите на Google Play трябва да бъдат изтеглени“. Знам, че това се случва, защото кодирах този тест в моя MainActivity
в метода onResume()
.
Искам да знам как мога да инсталирам услугите на Google Play в своя емулатор, защото скоро ще трябва да тествам картите си.
Как да изтегля услугите на Google Play в емулатор на Android?
Отговори (12)
Вижте Настройване на услуги за Google Play, където се казва:
За да разработите приложение с помощта на API на услугите на Google Play, трябва да настроите проекта си с Google Play услуги SDK.
Ако все още не сте инсталирали SDK за услугите на Google Play, вземете го сега, като следвате ръководството за Добавяне на SDK Пакети.
За да тествате приложението си, когато използвате SDK за услугите на Google Play, трябва да използвате едно от следните:
- Съвместимо устройство с Android, което работи с Android 2.3 или по-нова версия и включва Google Play Store.
- Емулаторът на Android с AVD, който изпълнява платформата на API на Google, базирана на Android 4.2.2 или по-нова версия.
За api 21+ можете да използвате системно изображение с Google Play, както описвам по-долу.
За api 19+ (Android 4.4 Kitkat) можете да използвате системно изображение x86 с Google Api (аз успях да го използвам).
За api 17+ (Android 4.2.2) можете да ОПИТАТЕ да използвате системно изображение ARM с Google Api (при мен не проработи).
Успях да инсталирам Google Play и Google Services като отделни apks за чист системен образ API 16 и 17, но те наистина не работят след това (услугите се смазват и играта не се отваря). Така че изглежда, че не е възможно да ги накарате да работят върху чисто AVD изображение, защото трябва да бъдат инсталирани с root достъп. Същото за актуализиране на Google Services на AVD системно изображение с предварително инсталиран Google API - не може да се актуализира поради несъвместими сертификати, не може да се деинсталира дори с помощта на adb, защото няма достъп.
Как да настроите AVD системно изображение с Google Play
Сега съществува още по-добро решение: използване на AVD изображение с вградени услуги на Google Play. Това ще ви позволи да използвате услугите на Google, включително Google Play. Също така ще можете да го актуализирате, без да създавате повторно AVD изображение.
Отворете AVD мениджъра и изберете създаване на ново устройство. Трябва да използвате дефиниция на устройство с икона на Play Store.
След това изберете системно изображение за него. Трябва да изберете такъв с Google Play и НЕ с Google API.
След това стартирайте ново устройство.
Можете да актуализирате Play Services, както е показано на екранната снимка, или ръчно на устройството.
Ето как карате Android Google Maps API v2 да работи на вашия емулатор.
Създайте нов емулатор
- за устройство изберете "5.1'' WVGA (480 x 800: mdpi)"
- за цел изберете "Android 4.1.2 - API ниво 16"
- за "CPU/ABI" изберете "ARM"
- оставете останалите по подразбиране
това са настройките, които работят за мен. За различни не знам.
Стартирайте емулатора
инсталирайте com.android.vending-1.apk и com.google.android.gms-1.apk чрез команда за инсталиране на ADB
По-дългият отговор е в публикацията в моя блог за този проблем https://medium.com/nemanja-kovacevic/how-to-make-android-google-maps-v2-work-in-android-emulator-e384f5423723
Failure [INSTALL_FAILED_UPDATE_INCOMPATIBLE]
- person Laser Hawk; 07.12.2016
Попаднах на друго решение за използване на услугите на Google play на емулатор. Момчетата от http://www.genymotion.com/ предоставят много бързи емулатори, на които можете да инсталирате услугите на Google Play. Те просто трябва да се регистрирате, за да започнете изтеглянето и имате нужда от инсталирана виртуална кутия. В момента те се грижат за Android 16 и 17, но на път са още.
В текущата версия (Android Studio 0.5.2) вече има тип устройство за „Google APIs x86 (Google Inc.) – API ниво 19“.
Ключът е да изберете целта на вашия емулатор, например: API на Google (версия 18). Ако изберете например само Jellybean 18 (без API), няма да можете да тествате приложения, които изискват услуги на Google като карта. Имайте предвид, че първо трябва да изтеглите Google API на любимата си версия с Android SDK Manager.
Това е добра практика и е много по-добра от жонглирането с повечето решения.
Наскоро се опитах да разработя приложение google MAP API V2 и се опитах да го пусна през емулатор, но всеки път ми показваше грешка „Google Play Services не е инсталиран на този телефон“. От моя гледна точка дори мисля, че google MAP API V2 не работи на емулатор.
Решение
След това се опитах да пусна същия пример на моя Sony Experia you и отново ми показа същата грешка. След това инсталирах услугите на Google Play на мобилния си телефон и удивително започна да работи..:)))
Получих работа до
- Инсталиране на услугите на Google Play чрез Android SDK Manager
- Използване на устройство Galaxy Nexus (4,65 инча, 720 x 1280: xhdpi)
- Насочване към Android 4.2.2 Google API ниво 17
Отидете на https://university.xamarin.com/resources/working-with-android-emulators. Превъртете надолу до секцията „Инсталиране на услуги на Google Play“. Стъпка по стъпка преминете оттам.
Директно плагаризиран от xamarin тук, така че да не ме уморяват за свързване и невключване на решение. Публикувам това, тъй като намерих хита в стека, преди да намеря решението, което работи навсякъде на страницата на xamarin.
- Стартирайте Xamarin Android Player и стартирайте едно от предоставените изображения, следното предполага, че сте стартирали изображението KitKat Nexus 4. Изтеглете правилния .zip файл за услуги на Google Play от www.teamandroid.com/gapps/. Не забравяйте да изтеглите изображението, подходящо за вашата версия на Android.
- Плъзнете .zip файла върху работещия емулатор и го пуснете, за да инсталирате компонента, тук го показваме в Mac OS X, но същият механизъм се използва в Windows. Ще получите подкана да инсталирате пакета в емулатора, което показва, че изображението ще бъде рестартирано
- След като се рестартира, ще получите известие, че инсталацията е завършена и изображението вече ще има Google Maps, Google+ и поддръжка за Google Play store. Обърнете внимание, че някои неща не работят правилно и може да получите няколко грешки от някои от услугите, но можете спокойно да ги отхвърлите и да продължите с инструкциите.
- След това ще трябва да свържете акаунт в Google, за да можете да актуализирате услугите с помощта на магазина на Google Play. Трябва да ви подкани за това, но ако не стане, можете да влезете в настройките на Google и да добавите нов акаунт. След като добавите акаунта, можете да актуализирате приложенията на Google, като отворите приложението Google Play Store и отидете в настройките от менюто на страничната лента.
- Изберете Настройки и след това превъртете надолу до информацията за номера на версията на компилацията и я докоснете два пъти, докато не ви каже, че е актуална или че ще изтегли и инсталира нова версия.
- Изключете устройството (натиснете и задръжте бутона за захранване в лентата с инструменти вдясно) и го рестартирайте. След като се рестартира, трябва да покаже, че трябва да актуализира услугите на Google Play, докосването на известието ще отвори Google Play Store и ще инсталира най-новата версия
Вече можете да стартирате приложения, които зависят от Google Maps в Xamarin Android Player.
Към най-новата настройка и информация, ако сте инсталирали Android Studio (т.е. 1.5) и се опитвате да насочите към SDK 4.0, тогава може да не успеете да намерите и настроите AVD емулатора с SDK-vX.XX (с API на Google).
Вижте следните стъпки, за да изтеглите необходимата библиотека и започнете с това. Настройка на AVD емулатор - настройка на емулатор за SDK4.0 с GoogleAPI, така че приложението Map да може да работи - В Android Studio
Но за съжаление горният метод не работи добре от моя страна. И не успя да създаде емулатор с API ниво 17 (SDK 4.2). Така че последвах тази публикация, която работи добре от моя страна. Причината изглежда, че прозорецът за създаване на Android Studio Emulator има ограничени опции/функции.
Услуги на Google Play в емулатор, прилагане на влизане в Google Plus бутон и т.н.
Знам, че това е стар въпрос, но стигнах до тук, защото имах подобен проблем като всички по-горе. Реших го като прочетох малко по-внимателно!
Не бях забелязал, че има 2 възможни системни изображения, от които мога да избирам, едно, което съдържа API на Google, и едно, което не (на моя лаптоп менюто беше твърде малко, за да прочета добавения текст (с API на Google).
Глупаво е да пропуснеш, но някой друг може да има малък екран като мен и да пропусне това :D
Ако вашият емулатор x86, този метод работи вашия me.
Изтеглете и инсталирайте http://opengapps.org/app/opengapps-app-v16.apk. И изберете нано пакет
Повече информация http://opengapps.org/app/
AVD image
от Google, който има вграденGoogle play serveices
. Проверете за актуализация отSDK manager
- person Ujjwal Singh   schedule 08.01.2016