2017-04-14 2 views
48

Ich verwende die Google Play-Dienste in meiner Android-App, so dass ich die Abhängigkeit in meinem build.gradle habe.Wie kann die Warnung "Verwendung der gebündelten Version von Google Play Services SDK vermeiden" unterdrückt werden?

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

Aber Android Studio zeigt eine Warnung für sie: Avoid using bundled version of Google Play services SDK.

Android warning

Was bedeutet diese Warnung? Wie soll ich es vermeiden? Ich habe viel gegoogelt, ohne viele verwandte Informationen zu finden.

+1

es ist zu :) hängt weil Play-Dienste hat enthält eine Menge von Abhängigkeiten im Inneren .. hier .. https: // Entwickler. google.com/android/guides/setup .. Wählen Sie alle Abhängigkeiten aus, die Sie verwenden möchten, anstatt alle zu verwenden. – ZeroOne

+0

@ZeroOne Cool. Danke für die schnelle Antwort. Könnten Sie bitte eine Antwort auf die Frage hinzufügen, damit ich sie akzeptieren kann? –

+1

Ich war mir dessen nicht bewusst. Als ich ein Tutorial durchging und nicht bemerkte, wie schlimm das war, wenn Gradle lief. Ich bin so froh, dies schon früh bei meinem Projekt zu entdecken. –

Antwort

95

In Versionen von Google Play-Diensten vor 6.5, mußte man das gesamte Paket von APIs in Ihre App kompilieren. In einigen Fällen wurde es dadurch schwieriger, die Anzahl der Methoden in Ihrer App (einschließlich Framework-APIs, Bibliotheksmethoden und Ihres eigenen Codes) unter dem Grenzwert von 65.536 zu halten. Ab Version 6.5, können Sie stattdessen selektiv kompilieren Google-Service-APIs in Ihre Play-App

innen kompilieren com.google.android.gms:play-services:11.6.0 eine Menge Abhängigkeiten enthält .. siehe unten .. Play-Dienste können dex Problem und schwere App verursachen. Wählen Sie nur die wollen Sie wirklich

Google Play services API Description in build.gradle 

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

Firebase

Firebase API    Description in build.gradle 

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

Google Cloud Messaging wird abgeschrieben. Verwenden Sie stattdessen Firebase Massaging. –

7

Google Play-Dienste enthalten viele einzelne APIs. Sie können auf das gewünschte Element zugreifen, anstatt auf ein Bündel zuzugreifen, das alle Komponenten enthält. Es ist ein besserer Ansatz. Siehe Tabelle Nr 1 Here

Verwandte Themen