Google Play services SDKのバンドル版を使用しないでください」という警告を表示しないようにするにはどうすればよいですか?

私はAndroidアプリでGoogle Playのサービスを使っているので、build.gradleに依存関係があるのです。

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

しかし、Android Studioには「バンドルされているバージョンのGoogle PlayサービスSDKの使用を避けるように」という警告が表示されます。

Androidの警告1です。

この警告は何を意味するのでしょうか?どのように回避すればよいのでしょうか?ググってみても、あまり関連する情報がありません。

ソリューション

Google Play サービスの 6.5 より前のバージョンでは、API パッケージ全体をアプリにコンパイルする必要がありました。そのため、アプリ内のメソッド数(フレームワークAPI、ライブラリメソッド、独自のコードを含む)を65,536の制限値以下に抑えることが困難な場合がありました。バージョン 6.5 からは、代わりに Google Play サービスの API をアプリに選択的にコンパイルすることができます。

com.google.android.gms:play-services:12.0.0` をコンパイルすると、多くの依存関係があります。本当に必要なものだけを選んでください :)

Google Play services API    Description in build.gradle

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

Firebase

Firebase API                Description in build.gradle

Analytics                com.google.firebase:firebase-core:12.0.0
Realtime Database        com.google.firebase:firebase-database:12.0.0    
Cloud Firestore          com.google.firebase:firebase-firestore:12.0.0   
Storage                  com.google.firebase:firebase-storage:12.0.0
Crash Reporting          com.google.firebase:firebase-crash:12.0.0  
Authentication           com.google.firebase:firebase-auth:12.0.0    
Cloud Messaging          com.google.firebase:firebase-messaging:12.0.0 
Remote Config            com.google.firebase:firebase-config:12.0.0  
Invites and 
Dynamic Links            com.google.firebase:firebase-invites:12.0.0 
AdMob                    com.google.firebase:firebase-ads:12.0.0 
App Indexing             com.google.firebase:firebase-appindexing:12.0.0 
Performance Monitoring   com.google.firebase:firebase-perf:12.0.0   

EDIT 上記のバージョンはすでに非推奨です。個別のバージョン管理をしています。下記リンク先をご参照ください

Google Play サービス - https://developers.google.com/android/guides/setup
Firebase - https://firebase.google.com/docs/android/setup

解説 (2)

Google play サービスには、多くの個別の API が含まれています。 それらをすべて含むバンドルにアクセスする代わりに、必要なものにアクセスすることができます。それはより良いアプローチです。表1参照 こちら

解説 (0)