Jak pobrać starsze usługi google play?

Zamierzam używać Androida google maps v2 z android emulator/android studio 0.4.0. Jednym z wymagań jest umieszczenie w projekcie google-play-services_lib wersji niższej / równej poziomowi emulator. Mój emulator współpracuje z api lv 17. Pytanie brzmi, jak pobrać starszą wersję google-play-services_lib niż te pobrane przez android sdk manager?

Author: Jacob, 2014-01-08

4 answers

Zdaję sobie sprawę, że to stare pytanie, ale miałem ten sam problem dzisiaj (dla prawdziwych urządzeń nie dla emulatora) i znalazłem rozwiązanie.

Wiem, że możesz dodać kod, aby poprosić Użytkownika o aktualizację do najnowszej wersji (zobacz komentarz @nathan-walters), ale ze skomplikowanych powodów, w moim przypadku muszę pracować z dowolną wersją, którą użytkownik już zainstalował na swoim urządzeniu (jeśli w ogóle) i dlatego wolę kompilować / budować ze starszą wersją biblioteki klienta (google-play-services_lib)

Kontynuując badania, rozpakowałem xml, którego Android SDK Manager używa do znalezienia i zainstalowania pakietów "dodatków", w tym najnowszej wersji usług Google Play.
Jeśli jesteś zainteresowany zacznij tutaj: https://dl-ssl.google.com/android/repository/addon.xml

Dla aktualnej wersji (stan na 10 listopada 2014), która daje bibliotekę dla google-play-services_lib pod adresem:

https://dl-ssl.google.com/android/repository/google_play_services_6171000_r21.zip

Starsze wersje znajdują się w tym samym miejscu na serwery google (chociaż mogą zniknąć w każdej chwili), więc jeśli jesteś gotowy, aby przenieść zainstalowaną bibliotekę na bok i ręcznie rozpakować starszy zip, możesz zainstalować starą wersję. Znalazłem ta sama technika pozwoli Ci przetestować na starszych wersjach Google Maps (usługi Google Play), które nie mogą być aktualizowane w starszych wersjach emulatora. Nie testowałem wszystkich tych wersji na emulatorze, ale pomyślnie przetestowałem Google Maps w emulatorze dla AVD opartego na Google API (API 19).

Google czasami próbuje uaktualnić emulator. Oto wątek śledzenia problemów omawiający problemy z niekompatybilnością wersji między Klientem biblioteka i emulator oraz różne próby ich naprawienia przez google: https://code.google.com/p/android/issues/detail?id=57880

[UPDATE:]

@btrue zobacz odpowiedź poniżej teraz ma dużo lepszą odpowiedź niż moja odpowiedź

Przejdź do:

<your path to android sdk>/extras/google/m2repository/com/google/android/gms/play-services/

Gdzie znajdziesz katalogi zawierające stare wydania w formacie AAR-wystarczy zmienić nazwę na .zamek do wyciągania.

 89
Author: Mike,
Warning: date(): Invalid date.timezone value 'Europe/Kyiv', we selected the timezone 'UTC' for now. in /var/www/agent_stack/data/www/doraprojects.net/template/agent.layouts/content.php on line 54
2017-05-23 12:02:56

Zaakceptowana odpowiedź jest zbyt kłopotliwa. Google faktycznie rozpowszechnia stare wersje w Menedżerze SDK.
W sekcji " Dodatki "znajduje się " repozytorium Google".
W repozytorium znajduje się biblioteka GPS wracająca do wersji 3.1.36.
Są one w formacie AAR, który jest tylko zip projektu budowania.
Zmień nazwę na *.zip, Rozpakuj, w środku jest klasa.jar, czyli słoik wszystkich klas gps.
Jeśli nie potrzebujesz żadnych zasobów, możesz dodać plik jar do swojej ścieżki klasowej. Załatwione.

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
 14
Author: BTRUE,
Warning: date(): Invalid date.timezone value 'Europe/Kyiv', we selected the timezone 'UTC' for now. in /var/www/agent_stack/data/www/doraprojects.net/template/agent.layouts/content.php on line 54
2015-02-11 17:12:03

Możesz pobrać google play services for froyo w SDK Manager, który działa z SDK 8 i nowszymi, ale uzyskanie konkretnej wersji nie jest możliwe AFAIK. Aktualna usługa google play działa z 10 i więcej

 1
Author: tyczj,
Warning: date(): Invalid date.timezone value 'Europe/Kyiv', we selected the timezone 'UTC' for now. in /var/www/agent_stack/data/www/doraprojects.net/template/agent.layouts/content.php on line 54
2014-01-07 21:45:17

Jednym z wymagań jest umieszczenie w projekcie google-play-services_lib wersji niższej / równej poziomowi emulatora.

google-play-services_lib nie ma nic wspólnego z wersjami emulatorów.

Pytanie brzmi, jak pobrać starszą wersję google-play-services_lib niż te pobrane przez android sdk manager?

AFAIK, nie ma na to sposobu. Ponadto, jak już wspomniano, nie jest to konieczne.

Następnie, jeśli urządzenie zostało uszkodzone lub wszystko, czego nie możesz przetestować swojego programu

To nie ma żadnego sensu. google-play-services_lib jest biblioteką . Nie są to same usługi Google Play, ale biblioteka klienta do korzystania z usług Google Play.

Ale potem muszę użyć biblioteki wsparcia, czego chciałbym uniknąć

Jak zauważono, pakiet wsparcia dla Androida nie jest powiązany z zestawem SDK usług odtwarzania. Część zestawu SDK Play Services może używać pakietu wsparcia dla Androida (np. SupportMapFragment), ale pakiet SDK Play Services nie wymaga pakietu wsparcia dla Androida.

 1
Author: CommonsWare,
Warning: date(): Invalid date.timezone value 'Europe/Kyiv', we selected the timezone 'UTC' for now. in /var/www/agent_stack/data/www/doraprojects.net/template/agent.layouts/content.php on line 54
2014-01-07 22:15:58