Запуск Google Maps v2 на эмуляторе Android

Я попытался реализовать Google Maps v2 в своем приложении для Android, но, к сожалению, вместо карт я получаю это сообщение:

This app won't run without Google Play services which are missing from your phone.

можно ли запускать эти карты на эмуляторе Android (платформа 4.2)?

11 ответов


на данный момент, ссылаясь на Google Android Map API v2 вы не можете запустить Google Maps v2 на эмуляторе Android; вы должны использовать устройство для своих тестов.


для тех, кто обновился до последней версии google-play-services_lib и / или имеет эту ошибку Google Play services out of date. Requires 3136100 but found 2012110 это новая версия com.гуглить.андроид.СБМ.apk (сервисы Google Play 3.1.36) и com.андроид.продажа.apk (Google Play Store 4.1.6) должны работать.

тест с этой конфигурацией на Android SDK Tools 22.0.1. Другая конфигурация, предназначенная для чистого Android, а не для Google, должна работать тоже.

  • устройство: Galaxy Nexus
  • цель: Android 4.2.2-уровень API 17
  • CPU / ABI: ARM (armeabi-v7a)
  • проверил: использовать хост GPU

...

  1. откройте AVD
  2. выполните это в терминале / cmd

    adb -e install com.google.android.gms.apk
    adb -e install com.android.vending.apk
    
  3. перезагрузка AVD

  4. удачи в кодировании!!!

Я нашел этот способ быть самым простым, чистым, и он работает с новейшей версией программного обеспечения, которые позволяют получить все исправления ошибок.


пожалуйста, попробуйте следующее. это было успешно для меня.

действия:

  1. создать новый эмулятор с этой конфигурацией: AVD configuration

  2. запустите эмулятор и установите следующий APK файлы: GoogleLoginService.apk, GoogleServicesFramework.apk и Phonesky.apk. Это можно сделать с помощью следующих команд:

    adb shell mount -o remount,yourAvdName -t yaffs2 /dev/block/mtdblock0 /system
    adb shell chmod 777 /system/app
    adb push GoogleLoginService.apk /system/app/
    adb push GoogleServicesFramework.apk /system/app/
    adb push Phonesky.apk /system/app/
    

    ссылки для APKs:

    1. GoogleLoginService.apk
    2. GoogleServicesFramework.apk
    3. Phonesky.apk он же Google Play Store, V. 3.5.16
    4. Google Maps, В. 6.14.1
    5. Google Play services, В. 2.0.10
  3. установите Google Play services и Google Maps в эмулятор

    adb install com.google.android.apps.maps-1.apk
    adb install com.google.android.gms-2.apk
    
  4. Скачать Google Play Service revision 4 от этой ссылке и дополнительно в папку sdkmanager->extra->google play service.
  5. импорт google-play-services_lib С androidsdk\extras\google\google_play_services.
  6. создайте новый проект и ссылайтесь на вышеупомянутый проект как на проект библиотеки.
  7. запустить проект.

Я успешно установил Google Maps v2 на эмулятор с помощью данное руководство.
Вы должны сделать следующие шаги:


Я рекомендую использовать эмулятор Genymotion вместо эмуляторов Google. Он запускается намного быстрее и реагирует почти в режиме реального времени. Он также поддерживает сервисы Google Play и, следовательно, Google Maps.

Google Maps on Genymotion

дайте ему попробовать! Вот сообщение в блоге, которое поможет вам настроить эмулятор.


Я могу иметь свой эмулятор для запуска моего приложения с Google Map V.2 (с Google Play Service V. 4). Я следовал шагам, которые другие предлагали с некоторыми неудачами, однако я учился у него и каким-то образом заставлял его работать. Вот как:

  1. прежде всего: вы должны закодировать приложение Карты. правильно со всеми соответствующими разрешениями настройки в вашем XML-метафайле, и Google Play Services APK часть вашего приложения. Чтобы убедиться в этом, вы должны запустить приложение на REAL устройство и знать, что он работает со своей картой там. Затем вы можете приступить к обработке эмулятора, как показано ниже.

  2. создайте новый эмулятор или используйте существующий эмулятор со спецификациями:

    • Целевое Имя = Android 4.1.2
    • уровень API = 16
    • CPU = любой. Тем не менее, я обнаружил, что ARM намного быстрее/реагирует, чем x86
    • есть достаточно оперативной памяти и пространства MB
  3. запустить эмулятор (ваш целевой эмулятор должен быть запущен!)

  4. загрузите следующие APKs (доступные через dropbox в 4/2/2013) в локальный каталог (сканирование на наличие вирусов!):

  5. установите эти два APK в свой рабочий (целевой) эмулятор с командой ADB:

    Дос/консоли> АБР -е install [путь-к-АПК-файла]

    Примечание: возможно, у вас были эти APKs, установленные в эмуляторе во время этой пробной ошибки, и по какой-то причине необходимо переустановить. Сначала вы должны удалить их: adb-e uninstall (com.гуглить.андроид.gms или com.андроид.вендинг)

  6. вот, здесь все может стать сложным. Вы думаете, что вы сделали, но когда вы открываете приложение с картой снова, но все вы получаете ошибку, говоря что-то в виде: "Google Play services устарели. Требуется 2012100, но найден 2010110", и может появиться кнопка "Обновить" Google Play. Если это так, не пытайтесь нажать кнопку обновления, так как она ничего не сделает. Я тоже получил эту ошибку, и я решил ее с помощью обоих этих дополнительных шагов:

    • Clean-rebuild-переустановите мое приложение в эмулятор
    • завершение работы эмулятора и заново начать он.
  7. вот и все, теперь он отлично работает.


Google обновил API таргетинга виртуального устройства 23. Теперь он поставляется с Google Play Services 9.0.80. Поэтому, если вы используете Google Maps API V 2.0 (я использую play-services-maps: 9.0.0 и play-services-location.9.0.0) решения не надо. Это просто работает!


Я успешно запустил наше приложение, для которого требуется Google Maps API 2, на AndroVM виртуальная машина.

AndroVM не поставляется с установленными картами Google или Google Play, но предоставляет модифицированную копию архива Cyanogen Gapps, который представляет собой набор проприетарных приложений Google, установленных на большинстве устройств Android.

инструкции, скопированные из FAQ AndroVM:

как я могу установить Google Apps (включая Market / Play app)?

  • Скачать Google Apps:gapps-jb-20121011-androvm.tgz [в основном каталог / system из архива Cyanogen gapps без приложения GoogleTTS, которое падает на AndroVM]
  • Untar файл gapps...tgz на вашем Хосте – у вас будет создан системный каталог
  • получите IP-адрес управления вашего AndroVM (инструмент "конфигурация AndroVM") и сделайте " adb connect x.y.z.t"
  • do "ADB root"
  • повторно подключиться к " adn connect x.y.z.t"
  • сделать "adb remount"
  • сделать " adb push system/ / system/"

ваша виртуальная машина перезагрузится, и у вас должны быть приложения google, включая Market / Play.

У вас не будет некоторых приложений Google, таких как карты, но их можно загрузить от рынка / игры.

поэтому следуйте этим инструкциям, а затем просто установите Google Maps с помощью Google Играй!

некоторые большие побочные эффекты использования виртуальной машины, а не эмулятора:

  • значительно превосходящая общая производительность
  • ускорение OpenGL
  • поддержка Google Play

единственным ударом на дороге до сих пор было отсутствие мультитач-жестов, что является обломком для картографического приложения! Я планирую обойти это со скрытым механизмом пользовательского интерфейса, поэтому не такая огромная проблема.


вам нужно попробовать эмулятор с версией Google API. Каждая платформа имеет две версии, Android и Android + Google APIs. Убедитесь, что при создании AVD выбрано поле Google APIs version on target.

и на странице обеспечить устройствах сервисов Google играть apk может быть также полезно.


я попробовал шаги выше (paniniluncher), но получил следующее сообщение:

Google Play services out of date. Requires 3025100 but found 2012110

Я получил это сообщение, потому что различные версии файлов, указанных выше. Чтобы решить проблему, я сначала удалил файлы, упомянутые выше, загрузил версии, которые мне нужны (как указано в следующей публикации StackOverflow:

Google Play услуги устарели. Требует 3025100 но нашли 2012110

и затем установил эти файлы с помощью " adb-e install [path-to-APK-file], а затем перезапустил эмулятор, и он работал отлично!


Я уже ответил на этот вопрос в ответ на вопрос переполнения стека проблема с помощью кнопки входа в Google в эмуляторе. Он работает только для Android 4.2.2, но позволяет использовать "Intel Atom (x86)" в AVD.

Я думаю, что легко заставить его работать для других версий Android. Просто найдите правильные файлы.