私はAndroidアプリケーションにGoogle Maps v2を実装しようとしましたが、残念ながら地図の代わりにこのメッセージが表示されます:
これらのマップをAndroidエミュレーター(Platform 4.2)で実行できますか?
現時点では、Google Android Map API v2を参照していますが、AndroidエミュレーターでGoogle Maps v2を実行することはできません。テストにはデバイスを使用する必要があります。
Google-play-services_libの最新バージョンに更新したか、このエラーGoogle Play services out of date. Requires 3136100 but found 2012110
com.google.Android.gms.apk(Google Play Services 3.1.36 ) および com.Android.vending.apk(Google Play Store 4.1.6) は動作するはずです。
Android SDK Tools 22.0.1でこの構成でテストします。 Googleではなく、純粋なAndroidをターゲットとする別の構成も機能するはずです。
...
ターミナル/ cmdでこれを実行します
adb -e install com.google.Android.gms.apk
adb -e install com.Android.vending.apk
AVDを再起動します
私はこの方法が最も簡単でクリーンであり、最新バージョンのソフトウェアで動作することを発見しました。これにより、すべてのバグ修正を取得できます。
以下を試してください。 私にとっては成功しました 。
手順:
この構成で新しいエミュレータを作成します。
エミュレータを起動し、次の APK ファイルをインストールします:GoogleLoginService.apk
、GoogleServicesFramework.apk
、およびPhonesky.apk
。これを行うには、次のコマンドを使用します。
adb Shell mount -o remount,yourAvdName -t yaffs2 /dev/block/mtdblock0 /system
adb Shell chmod 777 /system/app
adb Push GoogleLoginService.apk /system/app/
adb Push GoogleServicesFramework.apk /system/app/
adb Push Phonesky.apk /system/app/
APKのリンク:
エミュレーターにGoogle PlayサービスとGoogleマップをインストールします
adb install com.google.Android.apps.maps-1.apk
adb install com.google.Android.gms-2.apk
sdkmanager->extra->google play service
に追加します。google-play-services_lib
からandroidsdk\extras\google\google_play_services
をインポートします。このガイド を使用して、エミュレータにGoogle Maps v2を正常にインストールしました。
次の手順を実行する必要があります。
Googleのエミュレータの代わりに Genymotionによるエミュレータ を使用することをお勧めします。それはずっと速く起動し、ほぼリアルタイムで応答します。また、Google Play Servicesもサポートしているため、Googleマップもサポートしています。
試してみる!エミュレーターのセットアップに役立つブログ投稿を以下に示します。
Google Map V.2(Google Play Service V.4)でアプリを実行するためにエミュレータを使用できます。私は他の人がいくつかの失敗で提案した手順に従いましたが、私はそれから学び、どういうわけかそれを機能させます。こうやって:
まず、マップアプリをコーディングしておく必要があります。メタファイルXMLにすべての適切な権限をセットアップし、Google Play Services APKをアプリの一部として適切に設定します。これが正しいことを確認するには、REALデバイスでアプリを実行し、そこでマップで機能することを確認する必要があります。次に、以下に示すようにエミュレーターの処理に進むことができます。
新しいエミュレータを作成するか、既存のエミュレータを仕様で使用します:
エミュレータを実行します(ターゲットエミュレータが実行されている必要があります!)
次のAPK(2013年4月2日にDropboxから入手可能)をローカルディレクトリにダウンロードします(ウイルスをスキャンしてください!):
com.Android.vending.apk 、(Google Play Store、v.3.10.9)
com.google.Android.gms.apk 、(Google Play Service、v.2.0.12)
ADBコマンドを使用して、実行中の(ターゲット)エミュレーターにこれら2つのAPKをインストールします。
DOS /コンソールプロンプト> adb -e install [path-to-APK-file]
注:おそらく、この試行錯誤中にこれらのAPKがエミュレータにインストールされており、何らかの理由で再インストールする必要があります。まず、adb -e uninstall(com.google.Android.gmsまたはcom.Android.vending)でアンインストールする必要があります
ここでは、物事がトリッキーになる可能性があります。完了したと思いますが、マップでアプリを再度開くと、「Google Play開発者サービスは最新ではありません。2012100が必要ですが2010110が見つかりました」という形式のエラーが表示され、ボタンが表示される場合がありますGoogle Playを「更新」します。この場合、何もしないので、更新ボタンをクリックしないでください。私もこのエラーを受け取ったので、これらの追加手順の両方で解決しました。
それだけです、今ではうまく動作します。
Googleは、API 23をターゲットとする仮想デバイスを更新しました。現在、Google Play Services 9.0.80に付属しています。したがって、Google Maps API V 2.0を使用している場合(play-services-maps:9.0.0およびplay-services-location.9.0.0を使用しています)、回避策は必要ありません。うまくいく!
Google APIのバージョンを使用してエミュレーターを試す必要があります。各プラットフォームには、AndroidとAndroid + Google APIの2つのバージョンがあります。 AVDを作成するときに、ターゲットフィールドでGoogle APIバージョンを選択するようにしてください。
また、ページデバイスがGoogle PlayサービスAPKを持っていることを確認も役立ちます。
AndroVM 仮想マシンでGoogle Maps API 2を必要とするアプリを正常に実行しました。
AndroVMにはGoogleマップやGoogle Playがインストールされていませんが、ほとんどのAndroidデバイスにインストールされている独自のGoogleアプリのセットであるCyanogen Gappsアーカイブの変更されたコピーを提供します。
AndroVM FAQからコピーされた指示:
Google Apps(Market/Playアプリを含む)をインストールするにはどうすればよいですか?
- Google Appsをダウンロードします。 gapps-jb-20121011-androvm.tgz [基本的に、AndroVMでクラッシュするGoogleTTSアプリなしのCyanogen gappsアーカイブの/ systemディレクトリ]
- ホスト上のgapps…tgzファイルを展開します。システムディレクトリが作成されます。
- AndroVMの管理IPアドレスを取得し(「AndroVM Configuration」ツール)、「adb connect x.y.z.t」を実行します
- 「adb root」を実行
- 「adn connect x.y.z.t」で再接続します
- 「adb remount」を行う
- 「adb Push system// system /」を実行します
VMが再起動し、Market/PlayなどのGoogleアプリが必要になります。
マップなどの一部のGoogle Appsはありませんが、Market/Playからダウンロードできます。
これらの手順に従って、Google Playを使用してGoogleマップをインストールしてください。
エミュレーターではなくVMを使用することのいくつかの素晴らしい副作用:
これまでの道の中で唯一の衝突は、マルチタッチジェスチャの欠如でした。これは、マッピングアプリにとって厄介なことです。隠れたUIメカニズムを使用してこの問題を回避する予定なので、それほど大きな問題ではありません。
Stack Overflowの質問への回答emulatorでのGoogleサインインボタンの使用に関するトラブル でこの質問に既に回答しています。 Android 4.2.2でのみ機能しますが、AVDで「Intel Atom(x86)」を使用できます。
他のバージョンのAndroidでも動作するようにするのは簡単だと思います。正しいファイルを見つけてください。
上記の手順を(paniniluncherで)試しましたが、次のメッセージが表示されました。
Google Play services out of date. Requires 3025100 but found 2012110
上記のファイルの異なるバージョンが必要なため、このメッセージを受け取りました。この問題を解決するには、最初に上記のファイルをアンインストールし、必要なバージョンをダウンロードしました(次のStackOverflowの投稿を参照してください)。
Google Play開発者サービスは最新ではありません。3025100が必要ですが、2012110が見つかりました
そして、これらのファイルを `adb -e install [path-to-APK-file]を使用してインストールし、エミュレータを再起動すると、完全に機能しました!