今回、M1ProチップのMacBookProでGooglePlayStore対応のAndroidエミュレータ(タブレット)を作成したくなったのでメモ。Android Studioはダウンロード済みな想定で進めます。
SDKマネージャにてPlayStoreを追加
AndroidStudioを開き、画面中央あたりにあるMore Actionsを選択するとSDK Managerがあるので開く。
画面右下の[Show Package Details]にチェックを入れると詳細が開くので、最低限作成したいAPIレベルのチェックが入っている箇所は指定してください。
※どれか1つでもチェックがないとうまく動きませんでした。
また、SDK Toolsタブに移動し、Google Play servicesにもチェックを入れてください。
インストールが終わったらSDKManagerを閉じ、再度MoreActionsから[VirtualDeviceManager]を開いてください。
[Create Device] – [New Herdware Device]と進み、新しいデバイスを作成します。わかりやすい名称と希望のディスプレイサイズを入力してください。他は特にこだわりがなければそのままでOK。
[Finish]を押すと再度一覧画面に戻るので[Next]を押します。するとOSを選択する画面になるので、先ほどSDK ManagerでPlayStoreを追加したOSバージョンを選択してください。
一旦この状態でエミュレータが作成されますが、このままだとPlayStoreが存在しない状態です。
追加設定を行います。
[Virtual Device Manager]にて作成したエミュレータの3点リーダをクリックし、ShowOnDiskを選択。
するとファインダーが開くので、Config.iniをエディタで編集します。
以下のプロパティの値を変更してください。
// falseからtrueへ変更。
PlayStore.enabled = true
//[google_apis] を [google_apis_playstore] に変更。
image.sysdir.1 = system-images/android-33/google_apis_playstore/arm64-v8a/
// tag.display=Google APIs
// tag.id=google_apis
// それぞれ変更。
tag.display=Google Play
tag.id=google_apis_playstore
これでエミュレータを起動するとPlay Storeが表示されているはずです!
PlayStoreにログインできない時
以下のような表示が出てログインできない場合があります。
「There was a problem communicating with Google servers. Try again later」
まずエミュレータの通知領域を見て、何かサービスをインストールしている途中ではないかチェックしてください。
そうでなかった場合はもう一度、SDKManagerのSDK Toolsタブに移動し、Google Play servicesにチェックが入っているか確認してみてください。
上で紹介したconfig.iniの変更も再度確認してみましょう。
もしそれでもダメなら、SDKManagerにて対象APIレベルのSources for Android にもチェックがあるか確認してください。
ここまでしてもダメなら、エミュレータにて[設定]-[Apps]-[See all XX aps]と進み、その中に[Google Play Services]があるか確認してください。これが見当たらない場合はこの記事の設定いずれかが抜けている可能性が高いです。設定も間違っていないのなら一旦 APIレベル33もしくは32で試してみてください。ダメならGoogleによって制御されているのかも。。
また、新規エミュレータを作成した際には初期動作が走っている可能性があります。デバイスマネージャで端末サイズが1GBにも満たない場合はその可能性があるので、しばらく待ってエミュレータを再起動してみてください。いつの間にか7GBとかに増えているはずです。
ログインはできたがうまく動かない時
初めてPlayStoreにアクセスした際に関連するサービスがダウンロードされました。これがダウンロードされている間はうまく動かなかったので、通知領域を見てみましょう。問題ない場合はエミュレータをしばらく待ってから再起動してみてください。