2013年5月24日金曜日

Google Maps V2 API でNoClassDefFoundErrorが出た。

java.lang.NoClassDefFoundError: com.google.android.gms.R$string
at com.google.android.gms.common.GooglePlayServicesUtil.c(Unknown Source)
at com.google.android.gms.internal.e.a(Unknown Source)
at com.google.android.gms.internal.e.onCreateView(Unknown Source)
...


Androidでこのエラーが出ていた場合、「Google Play開発者サービス」アプリがアンインストールされている可能性が考えられます。

このアプリはgoogleが勝手にインストールするアプリで、アンインストールしてもしてもしても一定時間で生き返ります。
現在発売されている端末には最初からインストールされているのですが、2012年10月頃以前の端末には説明が不十分なままアップデートで追加され、しかも容量が大きかったためにユーザーから大批判を買い、アンインストールするユーザーが続出しているようです。

もちろん、一定時間が経てばまたインストールされるのですが、Androidユーザーは「とにかく不必要なアプリは消したい」という思いが強いので、こまめにチェックしてはアンインストールしているようです。
今まで目立った不具合がなかったようなのですが、今回Google Map V2が使えないことが分かりました。

さらにこのアプリ、Google Play Storeから検索してもヒットしないんですね。
Google検索にはヒットするのでそこから入れなおすか、自動更新されるのを待つしかないので、ダウンロードの導線を付けてあげたほうが良いです。
(ちなみにfoursquareは、このアプリが入っていないとアラートを表示してダウンロードを促しています。)

今回はGoogle Maps V2 APIを利用しているところでこのエラーが発生しましたが、
今後GooglePlayServicesUtil.cを参照するプログラムで問題になってくると思います。

0 件のコメント:

コメントを投稿