Le contexte:
J'essaie de configurer Google Analytics pour mon application. (ayant 4 personnalisés buildTypes
et plus que quelques-uns productFlavors
)
Cela fonctionne très bien lorsque je sélectionne celui Build Variant
qui a l' applicationId
ensemble com.my.app.package.name
(le nom du package utilisé lors de la génération de google-services.json
). Mais, mes autres saveurs ont des ID d'application différents.
J'ai suivi le guide officiel pour l'installer.
L'erreur que j'obtiens lorsqu'une autre variante de build est sélectionnée dans Build Variants Tab
(qui a un applicationId
(nom de package) différent est la suivante:
Erreur: l'exécution a échoué pour la tâche ": app: processAllcategoriesDebugfreeGoogleServices".
Aucun client correspondant trouvé pour le nom de package «com.my.app.package.name.debug»
Explication du message d'erreur:
Dans le nom de la tâche dans le message d'erreur ci Debugfree
- dessus est ma coutume buildType
et Allcategories
est l'une des miennes productFlavors
.
Je comprends l'erreur et je sais que le nom du package est différent de celui que j'ai utilisé lors de la génération du json, mais c'est ce que j'essaie de comprendre.
Problème:
Maintenant, le google-services.json
réside dans le app
dossier et, par conséquent, je ne peux pas les séparer pour chaque saveur de produit en les déposant dans le dossier de jeu de sources spécifiques à la saveur.
Des questions:
- Ma coutume
byildType
pour déboguer les suffixes.debug
vers leapplicationId
(nom du package). Existe-t-il un moyen de le faire fonctionner avec celuigoogle-services.json
qui a ma versionapplicationId
(c'est-à-dire sans le suffixe.debug
) - Existe-t-il un moyen de configurer plusieurs versions de produit dans le même
google-services.json
fichier sans utiliser de fichiers et de tâches distincts pour copier le fichier requis dans leapp
dossier. Je sais que cela peut être fait en utilisanttask
comme mentionné dans cet article . Existe-t-il un moyen plus simple de n'avoir qu'un seul fichier ou de choisir le bon fichier en fonction de la configuration de Gradle? - Je vois que le
package_name
champgoogle-services.json
contient le nom du packagecom.my.app.package.name
. Puis-je ajouter plusieurs noms de packages manuellement pour fonctionner avec toutes les variantes de build? Si oui, comment faire? Impossible de trouver des instructions dans les documentations.
la source
Réponses:
Vérifiez le nom de votre package sur votre google-services.json, il devrait être le même que le nom du package local de votre application
Exemple
Dans ce cas, mon nom de package local est com.my.app.package.name donc j'ai également changé mon nom de package dans google-services.json avec mon nom de package local
la source
Trouvé ceci:
La source
Source 2
la source
Aucun client correspondant trouvé pour le nom de package 'com.tf' Je suis sûr que le "package_name" dans google-services.json ne correspond pas à votre "applicationId" dans l'application gradle.
application gradle:
google-services.json
Solution : assurez-vous simplement que le
package_name
etapplicationId
doit être le même.la source
application id
gradle de l'application l'a clouéassurez-vous que le nom de votre package dans le fichier "google-services.json" est le même que le nom du package de vos applications.
la source
J'ai trouvé la solution:
Nous devons créer deux "applications" dans le projet firebase, puis nous pouvons télécharger le fichier json à partir de n'importe quelle application (j'ai téléchargé à partir de l'application aromatisée). Il contiendra les données des deux applications. Nous pouvons simplement copier le fichier json dans le répertoire racine de l'application.
Source: https://firebase.googleblog.com/2016/08/organizing-your-firebase-enabled-android-app-builds.html
la source
Vous devez placer
google-services.json
dansapp/
dir. Et pour chaque type de build, il devrait y avoir un directeur d'accord dans leapp/src
dossier.Par exemple, si vous avez une version et un débogage:
Dans tous les fichiers google-services.json, vous devez spécifier correct en
package_name
fonction du type de build.Par exemple, dans le répertoire de débogage, il devrait ressembler à
{com.myapp}.debug
la source
"client"
tableau de (ajouter une virgule entre les éléments) et modifier uniquement la"package_name"
valeur du nouvel élément pour inclure le.debug
suffixe. Reconstruisez ensuite. Cela a fonctionné pour moi sur AS 2.3.3.Cette erreur se produit lorsque vous avez un fichier Json Google Services téléchargé dans votre projet dont le nom de package ne correspond pas au nom de package de votre projet .
Vous avez récemment renommé le nom du package du projet?
Il met à jour toutes les classes mais pas le fichier Gradle . Vérifiez donc si le nom de votre package est correct dans votre Gradle, et peut-être aussi Manifest.
la source
Faites ci-dessous l'étape.
1). Archiver le fichier au
applicationId
niveau de l'applicationgradle
,2). Archivez
package_name
votregoogle-services.json
dossier,3). Archivez
package
votreAndroidManifest
dossieret pour une confirmation complète, faites que le nom du répertoire de votre package de travail, c'est-à-dire ("com.example.app") est également le même.
la source
package
dans le manifeste (et tous les fichiers dans tous les packages), commeapplicationId
cela changera l'ID de l'application.Tout d'abord, ajoutez un suffixe au package d'application dans Gradle:
Cela entraînera le nom de votre package
Ensuite, accédez à Firebase sous votre projet actuel et ajoutez-y une autre application Android avec ce nom de package.
Remplacez ensuite le fichier google-services.json existant par le nouveau que vous générez avec la nouvelle application.
Ensuite, vous vous retrouverez avec quelque chose qui a plusieurs sections "client_info". Vous devriez donc vous retrouver avec quelque chose comme ceci:
la source
vérifiez si
client_id
etpackage_name
dans google-services.json a une valeur correcte en fonction du nom de votre package.Vous devez ajouter le fichier mentionné dans le répertoire des saveurs avec le nom de package correspondant dans le champ
client_id
etpackage_name
.la source
1.Vérifiez que le nom du package et l' ID d'application doivent être identiques
2.Vérifiez le nom du package google-services.json qui est disponible dans le dossier de l'application
la source
Assurez-vous de renommer ApplicationId dans le fichier gradle après avoir renommé votre package
la source
Ouvrez votre fichier Google-services.json et recherchez cette section dans le fichier:
vérifiez si le package est identique à votre nom de package. Le mien était différent, alors je l'ai changé et ça a marché.
la source
Je viens de réagir natif mais je pense que cela s'applique également à cette question. Spécifier.
Dans le fichier,
android/app/build.gradle
recherchezapplicationId
(dedansandroid
,defaultConfig
)et assurez-vous que cette valeur est la même cette
client[0]client_info.android_client_info.package_name
comme valeur intérieure
google-services.json
.la source
Vous devez également modifier le nom du package dans google-services.json
la source
Si le nom de votre package dans le fichier Google-services.json est correct, accédez au fichier gradle.properties. Ensuite, changez votre APPLICATION_ID = "com.yourpackage.name"
la source
Je pense que vous avez ajouté le fichier json Firebase "google-services" .json avec le nouveau fichier. Assurez-vous de créer un nouveau fichier, vérifiez le lien sur la façon de créer un fichier json à partir de Firebase et il devrait correspondre au nom de votre package
La deuxième chose est que si vous modifiez le nom du package, utilisez l'option "remplacer dans le chemin" lorsque vous cliquez avec le bouton droit sous les fichiers lorsque vous sélectionnez le projet dans la liste déroulante. Vous devez rechercher le nom du package dans l'ensemble du projet et le remplacer!
J'espère que cela t'aides !
la source
si rien de tout cela n'a fonctionné pour l'un d'entre vous, mon problème était avec un nom de package qui ne commençait pas par un «com». changé, maintenant ça marche.
J'espère que cela pourra aider
la source
assurez-vous que l'applicationId de Gradle.app est identique à votre nom de package. mon problème était ceci et j'ai résolu de cette façon
la source
allez dans le répertoire de votre projet et créez des dossiers sur le chemin app / src qui ont nommé les saveurs de votre produit (comme Alpha, Beta, Store ou quel que soit le nom de votre saveur). puis copiez votre fichier google-services.json dans chaque dossier. n'oubliez pas de modifier le champ "package_name" dans le fichier google-services.json de chaque version de produit que vous avez sous-dossier.
la source
Accédez au fichier google-services.json et dans la partie client, vérifiez le nom du package et comparez-le avec le nom du package d'application s'ils sont différents, puis modifiez le nom du package client en fonction du nom du package de votre application, cela a fonctionné pour moi.
fichier google-services.json-> "package_name": "com.example.application.tracker"
Nom du package d'application-> package "com.example.application.tracker";
la source
Je l'ai résolu en créant deux sources, une gratuite et une payante. Ces deux dossiers contiendront le code java requis et les fichiers de ressources, qui seront modifiés selon les exigences de la saveur particulière. Par exemple, vous souhaitez supprimer le code AdMob dans le payant à la fois des classes Java et des fichiers de mise en page.
la source
J'ai résolu le même problème en resynchronisant le fichier
google-services.json
.la source
google-services.json
.J'ai résolu le même problème ici est une solution simple: lorsque vous créez une connexion Firebase , suivez ces instructions:
Ajoutez le nom de votre application dans Firebase
Ajoutez le nom de votre package d'application (écrivez le même nom de package, que vous utilisez dans l'application)
lorsque Firebase crée un fichier google-services.json , téléchargez- le et collez- le dans le dossier de votre application
Synchronisez votre projet Le problème est résolu :)
Je vous remercie
la source
Je reçois également ce problème lorsque je change le nom du package de mon application.
Dans votre projet de studio Android, recherchez le fichier "google-services.json". Ouvrez-le. et vérifiez si le nom du package de votre application est le même que celui écrit dans ce fichier.
Le nom du package de votre application et le nom du package écrit dans le fichier "google-services.json" doivent être identiques.
la source
Cela signifie que votre fichier google-services.json n'appartient pas non plus à votre application (avez-vous téléchargé le google-services.json pour une autre application?) ... pour résoudre ce problème, procédez comme suit:
1: Connectez-vous à Firebase et ouvrez votre projet. 2: cliquez sur l'icône Paramètres et sélectionnez Paramètres du projet. 3: Dans la carte Vos applications, sélectionnez le nom du package de l'application pour laquelle vous avez besoin d'un fichier de configuration dans la liste. 4: Cliquez sur google-services.json. Une fois le téléchargement terminé, ajoutez le nouveau google-services.json à votre dossier racine de projet, en remplaçant celui existant .. ou supprimez simplement l'ancien. Il est tout à fait normal de télécharger google-services.json pour votre premier projet, puis de supposer ou d'oublier que ce google-services.json spécifique est adapté à votre projet actuel seul, car aucun autre car tous les projets ont un nom de package unique.
la source
Vérifiez que
applicationIdSuffix
dans le fichier build.gradle de votre application. Voyez s'il concatène du texte à votreapplicationId
. Si oui, supprimez-le.la source
vous pouvez le faire pour résoudre ce problème.
la source
C'est simple. Déconnectez-vous d'Android Studio, fermez-le complètement. Rouvrez Android studio, puis reconnectez-vous à Android Studio.
Essayez ensuite de vous connecter à Firebase à partir de l'IDE du studio Android. Cette procédure a fonctionné pour moi.
la source
Il est simple de résoudre ce problème: assurez-vous simplement que le nom du package dans votre fichier app / build.gradle est le même nom de package que ceux de votre fichier Manifeste d'application. et assurez-vous que le nom du package est correct. Cela devrait résoudre ce problème
la source