2014/09/20
MapsActivity を表示したら Google Play開発者サービスの更新を求められてしまった場合の対処方法
「このアプリの実行には、Google Play開発者サービスの更新が必要です。」
このエラー、要は「Google Play開発者サービス」のバージョンが以下の状態になっているということです。
アプリをビルドする時にリンクしたバージョン > デバイスにインストールされているバージョン
そのため、普通は「更新」ボタンを押してデバイスにインストールされている「Google Play開発者サービス」を最新にすれば良いはずです。
問題点
しかし、そう簡単にいかない場合が存在します。それは Android Studio がデフォルトでリンクするバージョンが Google Play で提供されているものより新しい場合です。
例えば、以下のように Android Studio のメニューから MapsActivity を追加します。
New → Google → Google Maps Activity
この時、dependencies には以下のように ver. 5.2.08 が追加されます(2014/9/19 現在)。
build.gradle
dependencies { compile fileTree(dir: 'libs', include: ['*.jar']) compile 'com.google.android.gms:play-services:5.2.08' compile 'com.android.support:appcompat-v7:20.0.0' }
この時、デバイスにインストール出来る最新の「Google Play開発者サービス」は バージョン 5.0.89 です(2014/9/19 現在)。
「アップデートの削除」ボタンが表示されていることからも最新のものがインストールされていることがわかると思います。
つまり、「更新」ボタンを押しても「アンインストール」か「開く」しか出てこず、更新できないわけです…
解決策
デバイスの方は新しくできないので、ビルドに使用するバージョンを下げるしかありません。以下のように、play-services のバージョンをデバイスのものと合わせます。
build.gradle
dependencies { compile fileTree(dir: 'libs', include: ['*.jar']) compile 'com.google.android.gms:play-services:5.0.89' compile 'com.android.support:appcompat-v7:20.0.0' }
これで動くようになるはずです。