Подтвердить что ты не робот

API Android Places: службы Google Play Out-Date на эмуляторе

Я пытаюсь использовать Google Place API PlacePicker в своем приложении для Android. Однако, когда я пытаюсь создать сборщик, я получаю следующее сообщение об ошибке:

Google Play services out of date. Requires 7095000 but found 6774470

К сожалению, я привязан к тестированию на эмуляторе, потому что у меня нет физического устройства. Изображение эмулятора - это уровень API 22 x86 с целью Google API. Кроме того, я попытался включить библиотеку Служб Google Play через файл build.gradle:

'com.google.android.gms:play-services:7.+'

Кроме того, я обновил Службы Google Play в диспетчере SDK. Что я делаю не так? Как я могу обновить свои сервисы Google Play, чтобы я мог использовать API-интерфейс Places?

4b9b3361

Ответ 1

У меня была такая же проблема, и мне пришлось переместиться на изображение эмулятора API 21 с помощью приложений Google. Это более актуально и работает.

Ответ 2

Если диспетчер SDK показывает, что у вас уже установлена ​​последняя версия, вы можете просто продублировать определение эмулятора.

Дублированный эмулятор будет загружен последней версией SDK.

введите описание изображения здесь

Ответ 3

У меня есть аналогичная проблема, когда я использую Google-Play-сервисы на износе android, затем я решаю ее, обновив версию приложения для Android. (поскольку более новая версия для ношения Android включает новые сервисы Google-Play)

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

Для эмулятора вам необходимо обновить Google-Play-сервисы на своем эмуляторе вместо обновления SDK.

Ответ 4

У меня была та же проблема, и прямо сейчас я "обновил" версию до 6774480, лишив кеши и перезапустив ее, а затем "понизил" зависимости compile 'com.google.android.gms:play-services:6+' и это работает, я знаю, что это не настоящее решение, но это плохой способ заставить его работать, чтобы я мог проверить свое приложение

Ответ 5

Как утверждают другие, причиной может быть Google Play, установленный в AVD, не соответствует требованиям зависимости. Помимо решений, предложенных другими, я попытался снизить мою версию Google Play до 8.1 с 8.3, и проблема решена.

Ответ 6

У меня была эта проблема с эмулятором API 22. 21 и 23 были прекрасны, и у меня не было проблем с физическими устройствами.

Мне было любопытно узнать, важна ли эта низкая версия для GCM, поэтому изменил код для продолжения:

if (checkPlayServices()) {
              // Start IntentService to register this application with GCM.
              Intent intent = new Intent(this, ImpatientRegistrationIntentService.class);
              startService(intent);
} else {<<--   Added this as a bypass as my emulator complained about versions
              Intent intent = new Intent(this, ImpatientRegistrationIntentService.class);
              startService(intent);
}

Интересно, что эмулятор API 22 получил маркер от GCM и без проблем отправил потоковые сообщения ниже по течению.

Ответ 7

Это обходной путь, который я придумал, поскольку ни одно из решений здесь не работало для меня. Кроме того, я не хотел обновлять свой код, чтобы использовать более старую версию игровых сервисов. Я закончил установку эмулятора с помощью google play вместо google apis, а затем, когда появилось приглашение, я просто нажал на обновление. Это приведет вас в игровой магазин google, и все, что вам нужно сделать, это обновить игровые сервисы оттуда. Только оговорка здесь в том, что этот метод требует, чтобы вы вошли в эмулятор с учетной записью google. Но для моих случаев использования было достаточно. Google play вместо google api

Ответ 8

Обновите свои пакеты в Инструменты > Android > Менеджер SDK, а затем проверьте все пакеты в Дополнительно, у которых есть доступное обновление.

После того, как вы это сделали, используйте следующую зависимость в своем (app) build.gradle

compile 'com.google.android.gms:play-services:7.3.0'