Отсутствие сервисов Google Play от AVD
Недавно я начал развиваться для Android, и у меня возникли проблемы при попытке использовать Карты Google в моем приложении. Я загрузил API Google Maps v2 для Android и уже выполнил все необходимые действия в соответствии с сайтом разработчиков Google.
Моя проблема в том, что, хотя приложение работает, в том месте, где должны отображаться карты, есть тексты, в которых говорится, что на моем устройстве отсутствуют сервисы Google Play.
Я уже загрузил Службы Google Play из SDK, импортировал библиотеку в свой проект и импортировал файл .JAR.
Я использую Netbeans, а не Eclipse, поэтому многие решения, которые я нашел по сети, мне не полезны. Надеюсь, ты поможешь мне в этом.
Ответы
Ответ 1
К сожалению, вы не можете использовать эмулятор для запуска приложений, которые используют службы Google Play. Из http://developer.android.com/google/play-services/setup.html: "Сервисы Google Play не поддерживаются в эмуляторе Android - для разработки с использованием API-интерфейсов вам необходимо предоставить устройство разработки, такое как Android-телефон или таблетки".
Ответ 2
Из собственного сайта google http://developer.android.com/google/play-services/setup.html
Если вы хотите протестировать свое приложение на эмуляторе, разверните каталог для Android 4.2.2 (API 17) или более высокую версию, выберите Google API и установите его. Затем создайте новый AVD с API Google в качестве платформы цель. Примечание. Только Android 4.2.2 и более поздние версии Google Платформа API включает службы Google Play.
Ответ 3
У меня была такая же проблема и нашла решение:
Ниже приведены обновленные gms и vending. Те же инструкции, что и раньше: Создайте новый эмулятор с любым cpu/abi, целью не google-api (работа с версиями 10-17) и эмуляцией gpu, и затем установите файлы:
adb install com.android.vending-20130716.apk
adb install com.google.android.gms-20130716.apk
Если вы обновляете существующий эмулятор, вам может потребоваться удалить предыдущие версии с помощью:
adb uninstall com.android.vending
adb uninstall com.google.android.gms
Ответ 4
Ссылка Bellow содержит решение, которое работает с Android 4.2.2 или выше
Как установить службы Google Play в Android-эмулятор
1.1 Запустите свой эмулятор. Отключите любое другое устройство Android (например, ваш смартфон) с компьютера. 1.2 Загрузите эти два файла
com.android.vending-19032013.apk: http://www.mediafire.com/download.php?7jfar2v1bzx6v59com.google.android.gms-19032013.apk: http://www.mediafire.com/download.php?4o9fz413uavlblf
1.3 Откройте консоль команд, перейдите в раздел \platform-tools
Установите два файла выше с командой
adb install\com.android.vending-19032013.apk adb install\com.google.android.gms-19032013.apk
Ответ 5
Да, вы можете использовать карты Google на эмуляторе. Однако он официально не поддерживается, поэтому требует некоторой работы. У меня был лучший успех после информации об этой ссылке.
Ответ 6
Я нашел это, надеюсь, это поможет вам;)
Установка Google Play на Android-эмулятор
Запустите службы Google Play в своем эмуляторе
Ответ 7
Если кто-то все еще испытывает эту проблему, сначала попробуйте создать свой эмулятор с API Google в качестве целевой платформы. После этого я заметил, что мои сервисы Google Play не были правильной версией на эмуляторе.
При попытке взломать решение я наткнулся на GoogleApiAvailability
класс здесь. Google сделал феноменальную проблему совместимости с работой.
GoogleApiAvailability.isGooglePlayServicesAvailable(Context)
возвращает целочисленный код состояния, который может быть напрямую передан в getErrorDialog(Activity, errorCode, requestCode)
, который возвращает Dialog
, который отлично работает прямо из коробки. Если ваши Службы Play устарели, диалоговое окно перенаправит вас в программу обновления... Если они отсутствуют, она перенаправит вас к установщику и т.д.
Думаю, я поделился бы этой замечательной возможностью в случае, если кто-то ищет исправление, которое будет работать в производственном коде, а также при тестировании.