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



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



Это приложение не будет работать без сервисов Google Play, которые отсутствуют в вашем телефоне.



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

670   11  

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 Level 17
  • CPU / ABI: ARM (armeabi-v7a)
  • проверено: Use Host 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

  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.АПК
    2. GoogleServicesFramework.АПК
    3. Phonesky.apk он же Google Play Store, V. 3. 5. 16
    4. Google Maps , V. 6. 14. 1
    5. сервисы Google, в. 2.0.10
  3. Установите сервисы Google Play и 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 на Genymotion

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

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

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

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

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

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

  5. Установите эти два APK в ваш работающий (целевой) эмулятор с помощью команды ADB:

    DOS / Console Prompt> ADB-e install [путь к файлу APK]

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

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

    • Очистить-перестроить-переустановить мое приложение в эмулятор
    • выключите эмулятор и запустите его заново.
  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 Maps или Google Play, но предоставляет модифицированную копию архива Cyanogen Gapps, который представляет собой набор фирменных приложений Google, установленных на большинстве устройств Android.

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

Как установить приложения Google (включая приложение Market / Play)?

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

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

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

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

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

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

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

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

И Страница Убедитесь, что устройства имеют сервисы Google Play 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. Просто найдите нужные файлы.

Comments

    Ничего не найдено.