MacでAndroidエミュレーターや実機の異なるバージョンでGoogleマップを動かす方法

※本ページにはプロモーション(広告)が含まれています。
MacでAndroidエミュレーターや実機の異なるバージョンでGoogleマップを動かす方法

Macでエミュレーターや実機を切り替えながらGoogleマップを確認しようとして動かず困っている気持ち、よくわかります。

この記事を読むとMac上で複数バージョンのAndroidエミュレーターと実機それぞれでGoogleマップを起動して地図表示や位置取得を手早く確認できるようになります。

項目内容
ステップバイステップ手順エミュレーター設定から実機接続まで実体験に基づく具体的な手順を順を追って示す。
環境別の実践コツGoogleMapsSDKやGooglePlayServicesのバージョン差に対する現場で効く対応例を紹介する。
よくあるハマりどころ位置エミュレーションやパーミッション周りの落とし穴と簡単にできる回避方法を提示する。

まずは手順どおりにひとつずつ試していけば確実に動くようになりますので、気軽に読み進めてください。

Android博士

焦らなくて大丈夫です。小さな確認を積み重ねれば地図表示は必ず安定しますので一緒に落ち着いて進めていきましょう。困ったときは何度でも振り返ってくださいね。

目次

MacでAndroidエミュレーターや実機にGoogleマップを起動して確認する方法

MacでAndroidエミュレーターや実機にGoogleマップを起動して確認する方法

MacでAndroidエミュレーターや実機を使ってGoogleマップを起動して動作確認する方法をわかりやすくまとめます。エミュレーターはGooglePlay対応イメージを使うとストアから普通にインストールできますし、adbで直接起動して挙動をチェックすることもできます。

ここではエミュレーターと実機それぞれの手順を実体験に基づいて丁寧に紹介します。つまずきやすいポイントや短時間で結果を得るコツも合わせて伝えます。

実行前にAVDでGooglePlay付きイメージを選ぶことと、実機はUSBデバッグを有効にすることを必ず確認してください。これだけで確認作業がぐっと楽になります。

MacのAndroidエミュレーターでGoogle Play対応イメージを使ってGoogleマップを起動する流れ

MacのAndroidエミュレーターでGoogle Play対応イメージを使ってGoogleマップを起動する流れ

まずはAndroidStudioのAVDマネージャでGooglePlay対応のシステムイメージを選んでエミュレーターを作成します。GooglePlayが付いているとストアからGoogleマップがそのままインストールできます。

起動後はPlayストアからGoogleマップを入れて動作確認します。必要に応じてadbでインテント起動やログ確認を行い、位置情報やAPI関連の動作をチェックしてください。

AVDマネージャで対象のAndroidバージョンのエミュレーターを選んで起動する

手順
AVDマネージャを開く

AndroidStudioのツールバーからAVDマネージャを開きます。

手順
システムイメージを選ぶ

対象のAndroidバージョンでGooglePlay付きのイメージを選択します。

手順
エミュレーターを起動する

選択したAVDを起動してブートが完了するのを待ちます。

エミュレーター内のPlayストアでGoogleマップを開いて手動で起動する手順

手順
Playストアを開く

エミュレーター内のアプリ一覧からPlayストアをタップして開きます。

手順
Googleマップを検索してインストール

検索欄でGoogleマップを見つけてインストールします。

手順
アプリを起動して権限を許可

初回起動時の位置情報権限などを許可して、マップが表示されることを確認します。

MacのTerminalでadb経由でGoogleマップを起動して動作を確認するコマンド例

項目内容
起動コマンドadb shell am start -n com.google.android.apps.maps/com.google.android.maps.MapsActivity このコマンドでGoogleマップを直接起動できます。
モンキーテストで起動adb shell monkey -p com.google.android.apps.maps c 1 軽いテスト起動に便利です。
ログの確認adb logcat | grep Maps 起動時のログをフィルタして問題を確認します。

MacでUSB接続したAndroid実機の特定AndroidバージョンでGoogleマップを起動する流れ

MacでUSB接続したAndroid実機の特定AndroidバージョンでGoogleマップを起動する流れ

実機で確認するときはUSBデバッグを有効にしてMacに接続します。接続後にadbで端末が認識されているかをまず確認するのが基本です。

認識していれば端末のAndroidバージョンを取得して、該当バージョンでの動作をチェックします。必要に応じてadbでアプリを起動したりログを取って調査します。

MacのTerminalでadb devicesで接続済み端末を確認する場所とコマンド

手順
USBデバッグを有効にする

実機の設定で開発者向けオプションからUSBデバッグをオンにします。

手順
接続確認コマンド

Macのターミナルでadb devicesを実行して端末IDが表示されることを確認します。

MacのTerminalでadb shell getprop ro.build.version.releaseで端末のAndroidバージョンを確認する方法

手順
直接実行する方法

ターミナルでadb shell getprop ro.build.version.releaseを実行するとバージョンが表示されます。

手順
シェルに入って確認する方法

adb shellで端末に入ってからgetpropコマンドを実行しても同じ値が得られます。

MacのTerminalでadb shell am startでGoogleマップを起動して挙動を見るコマンド例

項目内容
標準起動adb shell am start -n com.google.android.apps.maps/com.google.android.maps.MapsActivity これでアプリが前面で起動します。
緯度経度で表示adb shell am start -a android.intent.action.VIEW -d geo:35.6895,139.6917 com.google.android.apps.maps 特定地点を直接開けます。
フォアグラウンドサービスで起動adb shell am start-foreground-service -n com.google.android.apps.maps/.MapsActivity サービス起動の確認に使えます。

MacでAndroidバージョン差によるGoogleマップの表示や権限問題を検証する応用

MacでAndroidバージョン差によるGoogleマップの表示や権限問題を検証する応用

Mac上で複数のAndroidエミュレーターや実機を使い、Googleマップの表示や位置情報まわりの違いを確認する方法を紹介します。バージョンやGoogle Playサービスの差で挙動が変わることがあるので、段階を追って問題の切り分けをしていくと分かりやすくなります。

ここでは実際に手を動かして役立った具体的な手順とちょっとしたコツをやさしくまとめました。初めてでも迷わないように短く区切った手順にしているので、順に試してみてください。

Android博士

焦らず一つずつ確認すれば原因は必ず見つかります。手順どおりに進めれば、異なる端末やバージョン間の違いを効率よく見分けられますよ。

Macでエミュレーターや実機の位置情報権限の差を再現して検証する方法

Macでエミュレーターや実機の位置情報権限の差を再現して検証する方法

実機とエミュレーターで位置情報権限の差を再現するには、まずエミュレーター内の設定で権限をオフにして挙動を確認するのが手軽です。アプリ側の挙動とダイアログの出方を見て、どのケースで地図が動かないかを把握してください。

次にadbで権限を付け外しして動作を比較し、ログも合わせて確認すると変化点が分かりやすくなります。テスト用のパッケージ名を用意して繰り返し試すと安心です。

エミュレーターの設定画面でアプリの位置情報権限を切り替える場所と操作手順

手順
エミュレーターを起動して設定を開く

Android StudioのAVDからエミュレーターを起動し、画面の設定アプリを開いてください。

手順
アプリ一覧から対象アプリを選ぶ

設定→アプリ→アプリ情報で対象のアプリを見つけ、アプリ権限の画面に進んでください。

手順
位置情報権限を切り替える

位置情報の許可を許可/拒否に切り替え、Googleマップの挙動やダイアログの出方を確認してください。

MacのTerminalでadbコマンドを使って位置情報権限を付与または剥奪する具体コマンド

  • 位置情報を付与するコマンド:adb shell pm grant <パッケージ名> android.permission.ACCESS_FINE_LOCATION
  • 位置情報を剥奪するコマンド:adb shell pm revoke <パッケージ名> android.permission.ACCESS_FINE_LOCATION
  • すべてのランタイム権限をリセットするコマンド:adb shell pm reset-permissions <パッケージ名>

MacでAndroidバージョンやGoogle Playサービス差で発生するクラッシュをログで調べる方法

MacでAndroidバージョンやGoogle Playサービス差で発生するクラッシュをログで調べる方法

クラッシュや異常終了が起きたときはadb logcatでログを採取するのが基本です。Mapsに関連するタグやAndroidRuntimeのエラーを中心に絞ると、原因が短時間で見つかることが多いです。

異なるAndroidバージョンやGoogle Playサービスの差でスタックトレースや例外の出方が変わるため、各バージョンでログを取り比べて差分を確認してください。ログはファイルに保存して比較するのがおすすめです。

MacのTerminalでadb logcatを実行してMaps関連ログを絞るためのコマンド例とフィルタの方法

  • リアルタイムでMapsタグだけ見る:adb logcat - s Maps:V AndroidRuntime:E
  • キーワードで絞る(grepを併用):adb logcat | grep - i Maps
  • 時間付きでログを保存する:adb logcat - v time > maps_log.txt

クラッシュ時にadb exec-out screencapやadb pullで画面とログを保存する具体的な手順

手順
画面を画像で保存する

クラッシュ直後にadb exec-out screencap - p > screen.pngでスクリーンショットをMac側に保存しておくと状況把握が早くなります。

手順
端末内のファイルを取り出す

端末内に保存されたファイルはadb pull /sdcard/screen.png ./screen.pngでMacへ取り出して保存してください。

手順
ログをファイルに保存する

adb logcat - d > crash_log.txtで現在までのログをファイル化し、クラッシュ時のスタックトレースをあとで詳しく確認してください。

よくある質問

よくある質問
エミュレーターでGoogleマップが表示されない原因は何ですか?

多くはAPIキー未設定やGoogle Play対応のイメージを使っていないことが原因です。APIキーがアプリのパッケージ名とSHA-1で正しく登録されているか確認し、Google Play対応のAVDで動かしてみてください。

Androidのバージョンごとに挙動が違うときはどうすれば良いですか?

Google Playサービスのバージョン差やランタイム権限の扱いが影響することが多いです。play-services-mapsのバージョンを揃え、targetSdkVersionに合わせて権限チェックやフォールバック処理を入れて対応してください。

エミュレーターで位置情報を手早く切り替える方法はありますか?

Android StudioのExtended ControlsのLocationで座標を指定する方法が手軽です。コマンドラインならadb emu geo fixで座標を送れるので、スクリプトで経路を流すテストもできます。

まとめ

まとめ

ここまでの内容は、Mac上でエミュレーターや実機を使い、異なるAndroidバージョンでGoogleマップを起動して動作を確かめる手順をやさしくまとめた内容でした。迷いやすいポイントと、その場で試せる簡単な対応も合わせて紹介しました。

要点は3つあります。まずGooglePlay対応のエミュレーターイメージや実機でGooglePlayサービスが有効であることを確認すること。次にCloudConsoleでMapsAndroidSDKとAPIキー(パッケージ名とSHA1)が正しく設定されていることを確認すること。そしてAVDのGoogleAPIレベルを揃え、logcatでエラーを見る習慣をつけること。

よくある手の打ちどころはAVDの初期化や別APIレベルでの再テストと実機確認です。公開前はリリース署名での動作確認とAPIキー制限設定も忘れないでください。気楽に試して慣れていけば、問題解決のスピードがぐんと上がります。

よかったらシェアしてね!
  • URLをコピーしました!
  • URLをコピーしました!
目次