私はAndroid google maps v2
with Android emulator/Android studio 0.4.0
を使用する予定です。要件の1つは、google-play-services_lib
のバージョンをemulator
以下に設定することです。私のエミュレータはapi lv 17
で動作します。質問は、google-play-services_lib
でダウンロードしたものよりも古いバージョンのAndroid sdk manager
をダウンロードする方法ですか?
これは古い質問であることを認識していますが、今日は同じ問題(エミュレーターではなく実際のデバイス)があり、解決策を見つけました。
コードを追加して最新バージョンにアップグレードするようユーザーに促すことができます(@ nathan-waltersのコメントを参照)が、複雑な理由から、私の場合はユーザーが既にインストールしたバージョンで作業する必要がありますデバイス(存在する場合)。したがって、古いバージョンのクライアントライブラリ(google-play-services_lib)でコンパイル/ビルドすることを好みます。
そこで、さらに調査して、Android SDKマネージャーが最新バージョンのGoogle Play Servicesを含む「extras」パッケージの検索とインストールに使用するxmlを解凍しました。
興味がある場合は、ここから始めてください: https://dl-ssl.google.com/Android/repository/addon.xml
Google-play-services_libのライブラリを提供する現在のバージョン(2014年11月10日現在):
https://dl-ssl.google.com/Android/repository/google_play_services_6171000_r21.Zip
古いバージョンはGoogleサーバー上の同じ場所にあります(いつでも消える可能性があります)。そのため、現在インストールされているライブラリを脇に移動して古いZipを手動でアンパックする準備ができている場合は、古いバージョンをインストールできます。私は次を見つけました:
同じ手法を使用すると、エミュレータの古いバージョンに組み込まれているアップグレードできない古いバージョンのGoogleマップ(Google Play Services)に対してテストできます。これらのすべてのバージョンをエミュレーターでテストしたわけではありませんが、Google API(API 19)に基づくAVDのエミュレーターでGoogleマップを正常にテストしました。
Googleは、エミュレータを最新の状態にしようと時々試みます。クライアントライブラリとエミュレーターの間のバージョンの非互換性の問題、およびそれらを修正するためのGoogleのさまざまな試みについて説明する問題追跡スレッドです。 https://code.google.com/p/Android/issues/detail?id=5788
[更新:]
@btrue 以下の回答を参照 現在、muchが私の回答よりも良い回答を持っています
に行きます:
<your path to Android sdk>/extras/google/m2repository/com/google/Android/gms/play-services/
aAR形式の古いリリースを含むディレクトリがあります-抽出のために.Zipに名前を変更してください。
受け入れられた答えは面倒です。 Googleは実際にはSDKマネージャーで古いバージョンを配布しています。
「Extras」の下には、「Google Repository」があります。
リポジトリには、バージョン3.1.36に戻るGPSライブラリがあります。
これらはAAR形式であり、ビルドプロジェクトの単なるZipです。
名前を* .Zipに変更し、解凍します。内部には、すべてのgpsクラスのjarであるclasses.jarがあります。
リソースが不要な場合は、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
google play services for froyo
をダウンロードできます。SDK Manager
はSDK 8以降で動作しますが、特定のバージョンを取得することはできません。現在のGoogle Playサービスは10以上で動作します
要件の1つは、プロジェクトgoogle-play-services_libをエミュレータレベル以下のバージョンで配置することです。
google-play-services_lib
は、エミュレータバージョンとは関係ありません。
問題は、Android SDKマネージャーによってダウンロードされたものよりも古いバージョンのgoogle-play-services_libをダウンロードする方法ですか?
私の知る限り、これを行う方法はありません。さらに、指摘されているように、これは必要ありません。
その後、デバイスが破損した場合、またはプログラムをテストできない場合
それはまったく意味がありません。 google-play-services_lib
はライブラリです。 Google Play Services自体ではなく、Google Play Servicesを利用するためのクライアントライブラリです。
しかし、私は避けたいサポートライブラリを使用する必要があります
既に述べたように、AndroidサポートパッケージはPlay Services SDKに関連付けられていません。PlayServices SDKの一部はse the Androidサポートパッケージ(たとえば、SupportMapFragment
)ですが、Play Services SDKはサポートしていません必須 Androidサポートパッケージ。