KitKatがリリースされたのに伴い最新のGoogle Play Servicesに変更して
アプリをインストールしたところ、実行時に以下のようなエラーに遭遇した。
11-01 22:30:56.987: E/AndroidRuntime(29979): Caused by: java.lang.IllegalStateException: The meta-data tag in your app's AndroidManifest.xml does not have the right value. Expected 4030500 but found 0. You must have the following declaration within the <application> element: <meta-data android:name="com.google.android.gms.version" android:value="@integer/google_play_services_version" />
meta-dataの定義が新たに必要になったらしい。
ということで以下を新たにAndroidManifest.xmlに追記。
<meta-data android:name="com.google.android.gms.version" android:value="@integer/google_play_services_version" />
今度は実行時エラーは出なくなったが開発者サービスを更新しろと言ってくる。
ただしマーケットにある最新版はすでに端末にインストールされている。
ログは以下のようになっている。
Google Play services out of date. Requires 4030500 but found 3266136
ということで端末側のPlayServiceアプリがまだGoogle Play Servicesの要求するバージョンに更新されていないようだ。
ちなみにこの際のチェックはAndroidManifestによって行っているらしい。
こちらはgoogle-play-services_libのAndroidManifest
<manifest xmlns:android="http://schemas.android.com/apk/res/android" package="com.google.android.gms" android:versionCode="4030530" android:versionName="4.0.30 (889083-30)" > <uses-sdk android:minSdkVersion="8"/> </manifest>
こちらはgoogle-play-services_lib_froyoのもの
<manifest xmlns:android="http://schemas.android.com/apk/res/android" package="com.google.android.gms" android:versionCode="3265130" android:versionName="3.2.65 (834000-30)" > <uses-sdk android:minSdkVersion="8"/> </manifest>
端末にインストールされている開発者サービスのバージョンは確かに3.2.65だ。
書き換えれば動くんだろうけど、froyo版を使いつつしばらく様子見が良さそう。
<追記>
Googleブログに記事が出てました。
http://android-developers.blogspot.jp/2013/10/google-play-services-40.html
まだ開発者サービスアプリが世に行き渡ってないけど
KitKatのエミュレータ向けに先行リリースしたということらしい。なんてことを…。
そしてFroyoのサポートが打ち切られてた。なんてことを…。