Im собирается использовать android google maps v2
с android emulator/android studio 0.4.0
. Одним из требований является установка проекта google-play-services_lib
с версией ниже/равной уровню emulator
. Мой эмулятор работает с api lv 17
. Вопрос в том, как загрузить более старую версию google-play-services_lib
, чем те, которые загружены android sdk manager
?
Как загрузить старые сервисы Google Play?
Ответ 1
Я понимаю, что это старый вопрос, но сегодня у меня была та же проблема (для реальных устройств не для эмулятора) и нашли решение.
Я знаю, что вы можете добавить код, чтобы предложить пользователю обновиться до последней версии (см. комментарий от @nathan-walters), но по сложным причинам в моем случае мне нужно работать с любой версией, которую пользователь уже имеет установленных на их устройстве (если они есть) и, следовательно, предпочитают компилировать/строить с более старой версией клиентской библиотеки (google-play-services_lib)
Итак, исследуя далее, я распаковал xml, который использует Android SDK Manager, чтобы найти и установить пакеты "дополнительные", включая последнюю версию Служб Google Play. Если вам интересно начать здесь: https://dl-ssl.google.com/android/repository/addon.xml
Для текущей версии (по состоянию на 10 ноября 2014 года), которая предоставляет вам библиотеку для google-play-services_lib по адресу:
https://dl-ssl.google.com/android/repository/google_play_services_6171000_r21.zip
Более старые версии находятся в одном и том же месте на серверах google (хотя они могут исчезнуть в любое время), поэтому, если вы готовы переместить текущую установленную библиотеку в сторону и вручную распаковать старый zip, вы можете установить старую версию, Я нашел следующее:
- https://dl-ssl.google.com/android/repository/google_play_services_3159130_r09.zip
- https://dl-ssl.google.com/android/repository/google_play_services_3225130_r10.zip
- https://dl-ssl.google.com/android/repository/google_play_services_3265130_r12.zip
- https://dl-ssl.google.com/android/repository/google_play_services_4030530_r13.zip
- https://dl-ssl.google.com/android/repository/google_play_services_4132530_r14.zip
- https://dl-ssl.google.com/android/repository/google_play_services_4242030_r15.zip
- https://dl-ssl.google.com/android/repository/google_play_services_4323030_r16.zip
- https://dl-ssl.google.com/android/repository/google_play_services_4452030_r17.zip
- https://dl-ssl.google.com/android/repository/google_play_services_5077000_r18.zip
- https://dl-ssl.google.com/android/repository/google_play_services_5089000_r19.zip
- https://dl-ssl.google.com/android/repository/google_play_services_6111000_r20.zip
- https://dl-ssl.google.com/android/repository/google_play_services_6171000_r21.zip
- https://dl-ssl.google.com/android/repository/google_play_services_6587000_r22.zip
- https://dl-ssl.google.com/android/repository/google_play_services_7095000_r23.zip
- https://dl-ssl.google.com/android/repository/google_play_services_7327000_r24.zip
- https://dl-ssl.google.com/android/repository/google_play_services_7571000_r25.zip
- https://dl-ssl.google.com/android/repository/google_play_services_7895000_r26.zip
- https://dl-ssl.google.com/android/repository/google_play_services_8115000_r27.zip
- https://dl-ssl.google.com/android/repository/google_play_services_8298000_r28.zip
- https://dl-ssl.google.com/android/repository/google_play_services_8487000_r29.zip
- https://dl-ssl.google.com/android/repository/google_play_services_9080000_r30.zip
Такая же методика позволит вам протестировать старые версии Google Maps (Google Play Services), не обновляемые ранее, в старых версиях эмулятора. Я не тестировал все эти версии против эмулятора, но успешно тестировал Карты Google в эмуляторе для AVD на основе API Google (API 19).
Google делает случайную попытку обновить эмулятор. Ниже приведена проблема, в которой обсуждаются проблемы несовместимости версий между клиентской библиотекой и эмулятором и различные попытки Google исправить их: https://code.google.com/p/android/issues/detail?id=57880 p >
[ОБНОВЛЕНИЕ:]
@btrue см. ответ ниже теперь имеет много лучший ответ, чем мой ответ
перейти к:
<your path to android sdk>/extras/google/m2repository/com/google/android/gms/play-services/
где вы найдете каталоги, содержащие старые версии в формате AAR, просто переименуйте в .zip для извлечения.
Ответ 2
Принятый ответ - слишком большая проблема. Google фактически распространяет старые версии в менеджере SDK.
В разделе "Дополнительно" есть "Репозиторий Google".
В репозитории GPS-библиотеки возвращаются к версии 3.1.36.
Они находятся в формате AAR, который представляет собой просто zip проекта сборки.
Измените имя на .zip, распакуйте его, внутри - class.jar, который является банкой всех классов gps.
Если вам не нужны какие-либо ресурсы, вы можете добавить файл jar в свой путь к классам. Готово.
ls -l /Applications/Programming/adt-bundle-mac-x86_64-20140702/sdk/extras/google/m2repository/com/google/android/gms/play-services/
total 24
drwxr-xr-x+ 8 Norrin staff 272 Jan 13 01:08 3.1.36
drwxr-xr-x+ 8 Norrin staff 272 Jan 13 01:08 3.1.59
drwxr-xr-x+ 8 Norrin staff 272 Jan 13 01:08 3.2.25
drwxr-xr-x+ 8 Norrin staff 272 Jan 13 01:08 3.2.65
drwxr-xr-x+ 11 Norrin staff 374 Feb 10 20:09 4.0.30
drwxr-xr-x+ 8 Norrin staff 272 Jan 13 01:08 4.1.32
drwxr-xr-x+ 8 Norrin staff 272 Jan 13 01:08 4.2.42
drwxr-xr-x+ 8 Norrin staff 272 Jan 13 01:08 4.3.23
drwxr-xr-x+ 8 Norrin staff 272 Jan 13 01:08 4.4.52
drwxr-xr-x+ 8 Norrin staff 272 Jan 13 01:08 5.0.89
drwxr-xr-x+ 8 Norrin staff 272 Jan 13 01:08 6.1.11
drwxr-xr-x+ 8 Norrin staff 272 Jan 13 01:08 6.1.71
drwxr-xr-x+ 8 Norrin staff 272 Feb 4 13:43 6.5.87
-rw-r--r--+ 1 Norrin staff 703 Jan 13 01:08 maven-metadata.xml
-rw-r--r--+ 1 Norrin staff 32 Jan 13 01:08 maven-metadata.xml.md5
-rw-r--r--+ 1 Norrin staff 40 Jan 13 01:08 maven-metadata.xml.sha1
Ответ 3
вы можете скачать google play services for froyo
в SDK Manager
, который работает с SDK 8 и выше, но для получения конкретной версии невозможно AFAIK. Текущая служба Google Play работает с 10 и выше
Ответ 4
Одним из требований является установка в проект google-play-services_lib с версией ниже/равной уровню эмулятора.
google-play-services_lib
не имеет ничего общего с версиями эмулятора.
Вопрос в том, как загрузить более старую версию google-play-services_lib, чем те, которые были загружены менеджером Android sdk?
AFAIK, нет никакого способа сделать это. Кроме того, как было указано, это необязательно.
Затем Если ваше устройство было сломано или что-то, что у вас не было бы возможности проверить вашу программу
Это не имеет никакого смысла. google-play-services_lib
- это библиотека. Это не Google Play Services, а клиентская библиотека для использования сервисов Google Play.
Но тогда мне нужно использовать библиотеку поддержки, чего бы я хотел избежать
Как уже отмечалось, пакет поддержки Android не привязан к SDK Play Services. Части SDK Play Services могут использовать пакет поддержки Android (например, SupportMapFragment
), но SDK Play Services не требует пакета поддержки Android.