AndroidアプリケーションにGoogleMapsv2を実装しようとしましたが、残念ながら、マップの代わりに次のメッセージが表示されます。
これらのマップをAndroidエミュレーター(プラットフォーム4.2)で実行することは可能ですか?
AndroidアプリケーションにGoogleMapsv2を実装しようとしましたが、残念ながら、マップの代わりに次のメッセージが表示されます。
これらのマップをAndroidエミュレーター(プラットフォーム4.2)で実行することは可能ですか?
現時点では、Google Android Map API v2を参照すると、AndroidエミュレーターでGoogleMapsv2を実行することはできません。テストにはデバイスを使用する必要があります。
Please try the following. It was successfully for me.
Steps:
Create a new emulator with this configuration:
Start the emulator and install the following APK files: GoogleLoginService.apk
, GoogleServicesFramework.apk
, and Phonesky.apk
. You can do this with the following commands:
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/
Links for APKs:
Install Google Play services and Google Maps in the emulator
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
from androidsdk\extras\google\google_play_services
.このガイドを使用して、エミュレータに Google マップ v2 を正常にインストールしました。
次の手順を実行する必要があります。
Google のエミュレータではなく、 Genymotionのエミュレータを使用することをお勧めします。はるかに高速に起動し、ほぼリアルタイムで応答します。また、Google Play Services もサポートしているため、Google マップもサポートしています。
試してみる!これは、エミュレーターのセットアップに役立つブログ投稿です。
エミュレーターで Google マップ V.2 (Google Play サービス V.4) でアプリを実行できます。他の人が提案した手順に従いましたが、いくつかの失敗がありましたが、そこから学び、何とか機能させました。こうやって:
まず、マップ アプリをコーディングしておく必要があります。メタファイル XML ですべての適切なアクセス許可を正しく設定し、アプリの Google Play Services APK 部分を含めます。これが正しいことを確認するには、実際のデバイスでアプリを実行し、そのマップで動作することを確認する必要があります。次に、以下に示すようにエミュレーターの処理に進むことができます。
新しいエミュレーターを作成するか、仕様を備えた既存のエミュレーターを使用します。
エミュレーターを実行します (ターゲット エミュレーターが実行されている必要があります)。
次の APK (2013 年 4 月 2 日にドロップボックスから入手可能) をローカル ディレクトリにダウンロードします (ウイルスをスキャンしてください)。
com.android.vending.apk (Google Play ストア、v.3.10.9)
com.google.android.gms.apk (Google Play サービス、v.2.0.12)
ADB コマンドを使用して、これら 2 つの APK を実行中の (ターゲット) エミュレーターにインストールします。
DOS/コンソール プロンプト> adb -e install [APK ファイルへのパス]
注: おそらく、この試行錯誤中にこれらの 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 Maps API 2 を必要とするアプリをAndroVM仮想マシンで正常に実行しました。
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 ファイルを untar します。システム ディレクトリが作成されます。
- AndroVM の管理 IP アドレスを取得し (「AndroVM Configuration」ツール)、「adb connect xyzt」を実行します</li>
- 「adb root」を実行</li>
- 「adn connect xyzt」で再接続</li>
- 「adb remount」を行う</li>
- 「adb push system/ /system/」を実行</li>
VM が再起動し、Market/Play を含む Google アプリが表示されます。
マップなどの一部の Google アプリはありませんが、Market/Play からダウンロードできます。
これらの手順に従って、Google Play を使用して Google マップをインストールしてください。
エミュレーターではなく VM を使用することのいくつかの大きな副作用:
これまでのところ唯一の障害は、マルチタッチ ジェスチャがないことです。これは、マッピング アプリとしては残念なことです。非表示の UI メカニズムでこれを回避する予定なので、それほど大きな問題ではありません。
Google API のバージョンのエミュレーターで試す必要があります。各プラットフォームには、Android と Android+Google API の 2 つのバージョンがあります。AVD を作成するときは、ターゲット フィールドで Google API バージョンを選択してください。
また、デバイスに Google Play サービス APK がインストールされていることを確認するページも役立ちます。
Stack Overflow question Trouble using Google sign in button in emulatorへの回答で、この質問に既に回答しています。Android 4.2.2 でのみ機能しますが、AVD で「Intel Atom (x86)」を使用できます。
他のバージョンの Android でも動作させるのは簡単だと思います。正しいファイルを見つけるだけです。