浜松のWEBシステム開発・スマートフォンアプリ開発・RTK-GNSS関連の開発はお任せください
株式会社シーポイントラボ
TEL:053-543-9889
営業時間:9:00~18:00(月〜金)
住所:静岡県浜松市中区富塚町1933-1 佐鳴湖パークタウンサウス2F

【androidStudio】レガシーになったGooglePlayServiceライブラリを卒業してみた

もう何年もメンテナンスしていないソースコードでは、大抵はライブラリが昔のバージョンのまま放置されています。古いうえにライブラリに新しいクラスがつっこまれたりしているので新しいAndroidAPIで動かしてみても勿論死にます。自分の担当したアプリも例外でなく、このcompile ‘com.google.android.gms:play-services:8.0.0’というライブラリに手を焼いておりました。

GoogleAPIでも書かれていますが、こいつはもうそのままでは使えません。GooglePlayServiceは大量のクラスを持っているので新規で追加されたライブラリの中で一個でも同じクラスがあった場合は競り合いとみなされ速攻でクラッシュします。厳密には、一つの機能しかないアプリならまあ古いバージョンでも使えますが、それでは実用性がないのでやっぱり使うのにはおすすめしません。

これからはAPI別に機能が分けられたbuild.Gradleを記述することで使えるようになるので、そちらの方法で使いましょう。と公式先生がおっしゃっていたのでそちらに従ってライブラリを入れましょうということです。

例えば、新しいバージョンでもGooglePlayServiceのLocationServices機能が使いたい!と思ったときは既存のGooglePlayServiceを消してこんな感じにgradleに書いていきます。

これを削除

</pre>
compile 'com.google.android.gms:play-services:8.4.0'
<pre>

でこちらを代わりに導入します。

</pre>
<pre>implementation 'com.google.android.gms:play-services-location:16.0.0'</pre>
<pre>

こんな感じで大元のcompile ‘com.google.android.gms:play-services:8.4.0’を削除してアプリの機能にあったライブラリをいれていきます。公式を見ながらでも全然できますが、アプリで使われているライブラリが何なのか先見しておいて調べておくと入れ替えがもっと楽になるのでおすすめです。

公式→https://developers.google.com/android/guides/setup

  • この記事いいね! (0)