Je développe une application qui utilise Googleapiclient to (évidemment) Obtenir l'emplacement actuel de l'utilisateur en arrière-plan.
Pour cette tâche, j'utilise Intenteervice avec wakfulBroadCastreCeiver (pour obtenir l'emplacement toutes les heures). Tout fonctionnait bien sur l'environnement de développement, mais lorsqu'il est déployé dans Play Store, certains appareils reçoivent cette erreur: P>
// Top-level build file where you can add configuration options common to all sub-projects/modules. buildscript { repositories { jcenter() } dependencies { classpath 'com.android.tools.build:gradle:1.5.0' classpath 'com.google.gms:google-services:+' // NOTE: Do not place your application dependencies here; they belong // in the individual module build.gradle files } } allprojects { repositories { jcenter() } }
3 Réponses :
Ceci est clairement une erreur de configuration de PROGUARD de GMS (Google Play Services). P>
Utilisation du tissu, je peux maintenant voir que tous les utilisateurs concernés par ce problème utilisent Android 4.x. Peut-être que la distribution des services de jeu est bugée, je ne sais pas. Mais il diminue le nombre d'appareils avec cette erreur.
Exception fatale: Java.Lang.NoclassDEffoundEfferror:
Com / Google / Android / GMS / Interne / ZZSA
chez com.google.android.gms.common.api.googleapiclient $ Builder. (Inconnu
Source) p>
blockQuote> NOCLASSDEFFUTEROR A> strong> en Java vient lorsque ancien fort> p> Googleapiclient est utilisé avec une variété de méthodes statiques. Une partie de
Ces méthodes nécessitent que Googleapiclient soit connecté, certains seront
Appels de la queue avant que Googleapiclient est connecté; p>
blockQuote> Vous devez essayer avec strud> votre fichier de construction de niveau supérieur dans lequel vous pouvez ajouter des options de configuration communes à
Tous les sous-projets / modules. P>
blockQuote> conseils strong>
Vous pouvez appeler p> alors edit forte > p> Le système de construction Android consiste en un plugin Android pour la grade.
Gradle est une boîte à outils de construction avancée qui gère les dépendances et
Vous permet de définir la logique de construction personnalisée. Android Studio utilise une grade
wrapper pour intégrer complètement le plugin Android pour gradle. L'Android
Le plugin pour gradle fonctionne également indépendamment du studio Android. P>
blockQuote> Un plugin est simplement n'importe quelle classe qui implémente l'interface de plug-in. La gradle fournit les plugins de base dans le cadre de sa distribution, il suffit de simplement appliquer le plugin comme ci-dessus. P> avec bêta2 et alpha-5 gradle dedle ne montre pas l'erreur. Mais sans "appliquer
Plugin: 'Services' "et" ClassPath "Il n'est pas généré
gcm_defaultSenderID pour GCM P>
blockQuote> Vous pouvez vérifier Obtenir un identifiant d'instance strong> p> Vous devez utiliser Appliquer plugin strong>. p> p>
build.gradle code> p>
compile 'com.android.support:appcompat-v7:23.1.1' code> au lieu de
V7: 23 + CODE> LI>
ol>
nettoyer-reconstruction-redémarrez-synchroniser votre projet code> strope> .hope ceci aide. p>
Hey Man, avec Beta2 et Alpha-5, la gradle dedle ne montre pas l'erreur. Mais sans "Appliquer Plugin:" Services "" et "ClassPath", il n'est pas généré GCM_DEFAULTSENDREID pour GCM
Oui!! Avec ce non plus de périphériques (même avec Android 4.x) obtient cette erreur! Merci beaucoup pour m'aider! Je pense que j'ai une erreur l'autre fois que j'utilise cette Conf, mais je sais que ça va!
Enfin! J'ai passé littéralement plusieurs heures à essayer de résoudre ce problème, peut-être que cela a déjà été résolu, mais il s'avère que les classes Google que vous utilisez doivent toutes être la même version de la gradle, c'est-à-dire
compile 'com.google.android.gms:play-services-identity:7.8.0' compile 'com.google.android.gms:play-services-location:7.8.0'
J'utilise la même version pour tous les services utilisés
En fait: com.google.android.gms: Play-Services: 8.3.0
J'ai mis à jour le DEPS, mais j'ai lu les notes de publication et il n'y a rien sur la solution pour les services de localisation - à moins que l'amélioration de l'emplacement par wifi et la tour cellulaire. Correction: Échec de la résolution: com.google.android.gms: Play-Services: 8.4.0
Montrez votre
build.gradle code> &
classpath code>.
Ajouté Build.Gradle de mon application et de mon projet root
Supprimer
Appliquer plug-in: 'com.google.gms.google-services' code> &
classPath 'com.google.gms: Google-Services: +' Code>
Ajouter
classpath 'com.android.tools.build:gradle:2.0.0-alpha2' code> et
classpath 'com.google.gms: Google-Services: 2.0.0-Alpha1' Code>
Je reçois ce: le plugin est trop vieux, veuillez mettre à jour à une version plus récente ou définir une variable d'environnement Android_Daily_override à "2260A25621626D4A38D9E94FD161E5383F8D6B5E"
Ensemble
classpath 'com.android.tools.build:gradle:2.0.0-alpha3' code>
Vous pouvez utiliser
com.android.tools.build:gradle:2.0.0-alpha5 code> .hope ceci aide .oule-moi informer.
Avec une erreur de gradle alpha5 ne montre pas d'erreur. Mais sans "Appliquer plugin:" Services "" et "ClassPath", il n'est pas généré GCM_DefaultSenderID pour GCM.
Avez-vous une configuration de proguard?