web-dev-qa-db-fra.com

Comment utiliser la gestion des dépendances granulaires de Google Play Services 6.5

Cette question n'est plus valable. Mais les réponses peuvent toujours être utiles pour d'autres, donc je vais le laisser ici.


Question d'origine:

Dans un blogpost du 17 novembre, les gars de Google ont introduit la gestion des dépendances granulaires tant attendue (pour faire face à la limite de la méthode dex). Nous avons le 8 décembre et je ne peux toujours pas télécharger le sdk (6.1 est la dernière version disponible), ni obtenir la documentation sur la façon d'introduire une dépendance granulaire. Des nouvelles sur celui-ci? Ou une idée comment l'obtenir avant sa sortie officielle?

29
Michał K

Remarque!

Je ne maintiendra plus cette réponse , car Google fait un très bon travail pour faire les versions maintenant. Avec un post sur leur Blog des développeurs Android , notes de version officielles et souvent aussi une vidéo sur leur chaîne YouTube avec un bref aperçu des nouveautés.

Je laisse les deux dernières mises à jour (au moment de la rédaction) et la réponse d'origine. Veuillez trouver les mises à jour précédentes ici

Mise à jour d'octobre 2016, Play Services 9.8.0

Notes de version des services Google Play , Notes de version des API Google Maps

dépendance support-v4

com.google.Android.gms:play-services-base:9.8.0
-> com.google.Android.gms:play-services-basement:9.8.0
  -> com.Android.support:support-v4:24.0.0 -> 24.2.1

Mise à jour de mai 2016, Play Services 9.0.1

Article de blog , Notes de version des services Google Play , Notes de version des API Google Maps

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

Mise à jour de décembre 2015, Play Services 8.4.0

Article de blog , Vidéo , Notes de version des services Google Play , Notes de version des API Google Maps

dependencies {
    # Google+   
    compile com.google.Android.gms:play-services-plus:8.4.0
    # Google Account Login  
    compile com.google.Android.gms:play-services-auth:8.4.0
    # Google Actions, Base Client Library   
    compile com.google.Android.gms:play-services-base:8.4.0
    # Google Address API    
    compile com.google.Android.gms:play-services-identity:8.4.0
    # Google App Indexing   
    compile com.google.Android.gms:play-services-appindexing:8.4.0
    # Google App Invites    
    compile com.google.Android.gms:play-services-appinvite:8.4.0
    # Google Analytics  
    compile com.google.Android.gms:play-services-analytics:8.4.0
    # Google Cast   
    compile com.google.Android.gms:play-services-cast:8.4.0
    # Google Cloud Messaging    
    compile com.google.Android.gms:play-services-gcm:8.4.0
    # Google Drive  
    compile com.google.Android.gms:play-services-drive:8.4.0
    # Google Fit    
    compile com.google.Android.gms:play-services-fitness:8.4.0
    # Google Location, Activity Recognition, and Places 
    compile com.google.Android.gms:play-services-location:8.4.0
    # Google Maps   
    compile com.google.Android.gms:play-services-maps:8.4.0
    # Google Mobile Ads 
    compile com.google.Android.gms:play-services-ads:8.4.0
    # Mobile Vision 
    compile com.google.Android.gms:play-services-vision:8.4.0
    # Google Nearby 
    compile com.google.Android.gms:play-services-nearby:8.4.0
    # Google Panorama Viewer    
    compile com.google.Android.gms:play-services-panorama:8.4.0
    # Google Play # Game services   
    compile com.google.Android.gms:play-services-games:8.4.0
    # SafetyNet 
    compile com.google.Android.gms:play-services-safetynet:8.4.0
    # Google Wallet 
    compile com.google.Android.gms:play-services-wallet:8.4.0
    # Android Wear  
    compile com.google.Android.gms:play-services-wearable:8.4.0
}

dépendance support-v4

com.google.Android.gms:play-services-base:8.4.0
-> com.google.Android.gms:play-services-basement:8.4.0
  -> com.Android.support:support-v4:23.0.0 -> 23.4.0

Mise à jour d'août 2015, Play Services 7.8.0

Notes de version des services Google Play , Notes de version des API Google Maps

dépendance support-v4

com.google.Android.gms:play-services-base:7.8.0
-> com.Android.support:support-v4:22.2.0 -> 22.2.1

Réponse originale

Ils viennent de sortir (voir les temps forts ). Vous pouvez trouver plus d'informations sur la façon d'utiliser les dépendances granulaires ici .

Vous devrez mettre à jour votre référentiel de services Google Play local à l'aide du gestionnaire de SDK fourni par le SDK ou utiliser un plugin comme Jake Whartons sdk-manager-plugin pour Gradle qui le mettra automatiquement à jour pour vous. Cela ressemblerait à ceci lors de la construction avec Gradle:

Google Play Services repository outdated. Downloading update...

Modifier 1

Au moment de l'écriture, le deuxième lien semble être corrompu, comme dans, même si Utilisation de Android Studio est sélectionné dans le menu déroulant, il ne le fait pas montrer les informations, au moins pour moi. Afin de voir les informations pour Android Studio, sélectionnez en utilisant autre chose, puis sélectionnez en utilisant Android Studio à nouveau.

Modifier 2

Notes de version des API Google Maps

dependencies {
    # Google+'
    compile 'com.google.Android.gms:play-services-plus:6.5.+'
    # Google Account Login
    compile 'com.google.Android.gms:play-services-identity:6.5.+'
    # Google Activity Recognition
    compile 'com.google.Android.gms:play-services-location:6.5.+'
    # Google App Indexing
    compile 'com.google.Android.gms:play-services-appindexing:6.5.+'
    # Google Cast
    compile 'com.google.Android.gms:play-services-cast:6.5.+'
    # Google Drive
    compile 'com.google.Android.gms:play-services-drive:6.5.+'
    # Google Fit
    compile 'com.google.Android.gms:play-services-fitness:6.5.+'
    # Google Maps
    compile 'com.google.Android.gms:play-services-maps:6.5.+'
    # Google Mobile Ads
    compile 'com.google.Android.gms:play-services-ads:6.5.+'
    # Google Panorama Viewer
    compile 'com.google.Android.gms:play-services-panorama:6.5.+'
    # Google Play Game services
    compile 'com.google.Android.gms:play-services-games:6.5.+'
    # Google Wallet
    compile 'com.google.Android.gms:play-services-wallet:6.5.+'
    # Android Wear
    compile 'com.google.Android.gms:play-services-wearable:6.5.+'
    # Google Actions
    # Google Analytics
    # Google Cloud Messaging
    compile 'com.google.Android.gms:play-services-base:6.5.+'
}

dépendance support-v4

com.google.Android.gms:play-services-base:6.5.87
-> com.Android.support:support-v4:21.0.0 -> 21.0.3

Modifier 3

Google vient de publier un blog sur Google Play Services 6.5 et la limite de la méthode 65k . Il contient les informations de mon message et plus encore. Je vais juste citer un paragraphe pour quiconque trouve ces informations via SO au lieu du billet de blog:

Remarque: Au moment de la rédaction, la bonne version à utiliser est 6.5.87. Comme il s'agit d'un nombre très granulaire, il sera mis à jour assez rapidement, alors assurez-vous de vérifier la dernière version lorsque vous codez. Souvent, les gens utilisent un "+" pour désigner les versions, telles que 6.5. + Pour utiliser la dernière version 6.5. Cependant, il est généralement déconseillé d'utiliser un "+" car cela peut entraîner des incohérences.

68
aried3r

Il y a un manque de documentation sur le site Android.

appstate n'est pas inclus, et si vous utilisez des Game Helpers, vous êtes fuc ***

compile 'com.google.Android.gms:play-services-ads:6.5.87'
compile 'com.google.Android.gms:play-services-all-wear:6.5.87'
compile 'com.google.Android.gms:play-services-appindexing:6.5.87'
compile 'com.google.Android.gms:play-services-appstate:6.5.87'
compile 'com.google.Android.gms:play-services-base:6.5.87'
compile 'com.google.Android.gms:play-services-cast:6.5.87'
compile 'com.google.Android.gms:play-services-drive:6.5.87'
compile 'com.google.Android.gms:play-services-fitness:6.5.87'
compile 'com.google.Android.gms:play-services-games:6.5.87'
compile 'com.google.Android.gms:play-services-identity:6.5.87'
compile 'com.google.Android.gms:play-services-location:6.5.87'
compile 'com.google.Android.gms:play-services-maps:6.5.87'
compile 'com.google.Android.gms:play-services-panorama:6.5.87'
compile 'com.google.Android.gms:play-services-plus:6.5.87'
compile 'com.google.Android.gms:play-services-wallet:6.5.87'
compile 'com.google.Android.gms:play-services-wearable:6.5.87'

de ce post

4
cesards

J'ai creusé autour du dépôt maven du SDK pour comprendre cela, et cela semble fonctionner pour moi jusqu'à présent. Le répertoire suivant contient les dépendances fractionnées: <path-to-sdk>/extras/google/m2repository/com/google/Android/gms/.

J'ai décompressé certains AAR et le contenu suggère que play-services contient tout et play-services-basecontient les exigences minimales sur lesquelles vous pouvez vous baser en incluant les autres dépendances (par exemple play-services-location, play-services-maps, play-services-wallet).

Votre section de dépendances pourrait ressembler à ceci:

dependencies {
    compile 'com.google.Android.gms:play-services-location:6.5.87'
    compile 'com.google.Android.gms:play-services-maps:6.5.87'
    compile 'com.google.Android.gms:play-services-wallet:6.5.87'
}
3
Michael Pardo