Google Playサービスを必要なだけAndroidStudioプロジェクトに追加する

  • 92
    Like
  • 0
    Comment

Setting Up Google Play Servicesより一部抜粋。

Google Play サービスのバージョン6.5以前は全てのAPIのパッケージをアプリに組み込む必要がありました。場合によってはこれはアプリのメソッド数の制限にひっかかる原因になります。Androidでは一つのアプリあたり最大65536個のメソッドしか持つことができず、これにはあなたが書いたコード以外にフレームワークAPI、ライブラリのメソッドも含まれます。

バージョン6.5から、Google Play サービスAPIのうち必要なものだけを選択してコンパイルすることができるようになりました。たとえば、Google Fit と Android Wear APIだけを使用する場合は次のようにbuild.gradleを書き換えます。

compile 'com.google.android.gms:play-services:10.2.0'

をこうします。

compile 'com.google.android.gms:play-services-fitness:10.2.0'
compile 'com.google.android.gms:play-services-wearable:10.2.0'

次の表は利用目的に応じたそれぞれのAPIを記載しています。いくつかのAPIはここに記載されていませんが、それらはbaseライブラリに含まれます(これはいずれかのライブラリを読み込んだ時に自動的に組み込まれます)。

Google Play services API Description in build.gradle
Google+ com.google.android.gms:play-services-plus:10.2.0
Google Account Login com.google.android.gms:play-services-auth:10.2.0
Google Actions, Base Client Library com.google.android.gms:play-services-base:10.2.0
Google Address API com.google.android.gms:play-services-identity:10.2.0
Google Analytics com.google.android.gms:play-services-analytics:10.2.0
Google Awareness com.google.android.gms:play-services-awareness:10.2.0
Google Cast com.google.android.gms:play-services-cast:10.2.0
Google Cloud Messaging com.google.android.gms:play-services-gcm:10.2.0
Google Drive com.google.android.gms:play-services-drive:10.2.0
Google Fit com.google.android.gms:play-services-fitness:10.2.0
Google Location and Activity Recognition com.google.android.gms:play-services-location:10.2.0
Google Maps com.google.android.gms:play-services-maps:10.2.0
Google Mobile Ads com.google.android.gms:play-services-ads:10.2.0
Google Places com.google.android.gms:play-services-places:10.2.0
Mobile Vision com.google.android.gms:play-services-vision:10.2.0
Google Nearby com.google.android.gms:play-services-nearby:10.2.0
Google Panorama Viewer com.google.android.gms:play-services-panorama:10.2.0
Google Play Game services com.google.android.gms:play-services-games:10.2.0
SafetyNet com.google.android.gms:play-services-safetynet:10.2.0
Android Pay com.google.android.gms:play-services-wallet:10.2.0
Android Wear com.google.android.gms:play-services-wearable:10.2.0

注意: 必要なクラスを保護するためにProGuardディレクティブがPlayサービスライブラリに含まれています。GradleのAndroidプラグインは自動的にProGuard設定を追記します。プロジェクトを作成するとき、Android Studioは自動的にProGuard設定ファイルとbuild.gradleプロパティをProGuardのために設定します。Android StudioでProGuardを使用するためには、build.gradle buildTypesで有効にしなければいけません。詳しくはProGuardのトピックを参照してください。