Android 4.2のエミュレーターには予め「Google Play開発者サービス」がインストールされている!
「Google Play services」でのOAuth2の認証については、
琴線探査: 「Google Play services」のOAuth2認証に依存したAndroidアプリを書くとエミュレーターでデバッグできなくなるのではないか?
という疑問から始まり、「Google Play開発者サービス」をエミュにインストールするために、何とか「Google Play Store」をインストールしようと苦悶した。
琴線探査: 「Google Play Store」をエミュレーターにインストールできるか?
しかし、もうエミュに「Google Play Store」や「Google Play開発者サービス」をインストールする必要は無い。
なぜなら、最近のSDKのバージョンアップでリリースされたAndroid 4.2のエミュ(Google APIsのAPI Level 17)には予め「Google Play開発者サービス」がインストールされているようだからだ。
このことを検証するために、上の記事で動作しなかった「Google+ SDK Sample」を4.2のエミュで動作させてみる。
まず、このような設定でAVDを作った。
このエミュを起動しつつ、このエミュ上で「Google+ SDK Sample」を起動する。
「Sign in」をクリックするとこのような画面になる。
赤いGoogle+の「Sign in」ボタンが見えている。
ということは、この時点ですでに「Google Play開発者サービス」がインストールされていることは確実だ。なぜなら、もしインストールされていなければこのボタンは表示されないから。
「Sign in」ボタンをクリックするとアカウント追加画面になる。
その後、TOSへの同意とバックアップするかどうかの画面が出た後、新しいOAuth2の認証画面が表示される。
「Allow」すると元の画面に戻ってくる。
「Signed in.」していることがわかる。
つまり、4.2エミュでは「Google Play開発者サービス」はインストールされていて、「Google+ SDK Sample」も動作する!というわけ。
琴線探査: 「Google Play services」のOAuth2認証に依存したAndroidアプリを書くとエミュレーターでデバッグできなくなるのではないか?
という疑問から始まり、「Google Play開発者サービス」をエミュにインストールするために、何とか「Google Play Store」をインストールしようと苦悶した。
琴線探査: 「Google Play Store」をエミュレーターにインストールできるか?
しかし、もうエミュに「Google Play Store」や「Google Play開発者サービス」をインストールする必要は無い。
なぜなら、最近のSDKのバージョンアップでリリースされたAndroid 4.2のエミュ(Google APIsのAPI Level 17)には予め「Google Play開発者サービス」がインストールされているようだからだ。
このことを検証するために、上の記事で動作しなかった「Google+ SDK Sample」を4.2のエミュで動作させてみる。
まず、このような設定でAVDを作った。
このエミュを起動しつつ、このエミュ上で「Google+ SDK Sample」を起動する。
ということは、この時点ですでに「Google Play開発者サービス」がインストールされていることは確実だ。なぜなら、もしインストールされていなければこのボタンは表示されないから。
「Sign in」ボタンをクリックするとアカウント追加画面になる。
その後、TOSへの同意とバックアップするかどうかの画面が出た後、新しいOAuth2の認証画面が表示される。
「Signed in.」していることがわかる。
つまり、4.2エミュでは「Google Play開発者サービス」はインストールされていて、「Google+ SDK Sample」も動作する!というわけ。
コメント
コメントを投稿