Contexto:
Estoy tratando de configurar Google Analytics para mi aplicación. (teniendo 4 personalizados buildTypes
y más de unos pocos productFlavors
)
Funciona bien cuando selecciono el Build Variant
que tiene el applicationId
conjunto en com.my.app.package.name
(el nombre del paquete utilizado al generar el google-services.json
). Pero, mis otros sabores tienen diferentes ID de aplicación.
Seguí el devguide oficial para configurarlo.
El error que obtengo cuando se selecciona cualquier otra variante de compilación Build Variants Tab
(que tiene un diferente applicationId
(nombre del paquete) es la siguiente:
Error: Error en la ejecución de la tarea ': aplicación: processAllcategoriesDebugfreeGoogleServices'.
No se ha encontrado ningún cliente coincidente para el nombre del paquete 'com.my.app.package.name.debug'
Explicación del mensaje de error:
En el nombre de la tarea en el mensaje de error anterior Debugfree
está mi costumbre buildType
y Allcategories
es una de mis productFlavors
.
Entiendo el error y sé que el nombre del paquete es diferente del que usé al generar el json, pero eso es lo que estoy tratando de resolver.
Problema:
Ahora, el google-services.json
reside en la app
carpeta y, por lo tanto, no puedo separarlos para cada sabor de producto soltándolos en la carpeta del conjunto de origen específico de sabor.
Preguntas:
- Mi costumbre
byildType
para depurar sufijos.debug
en elapplicationId
(nombre del paquete). ¿Hay alguna manera de que funcione con elgoogle-services.json
que tiene mi versiónapplicationId
(es decir, sin el sufijo.debug
) - ¿Hay alguna manera de tener múltiples sabores de productos configurados en el mismo
google-services.json
archivo sin usar archivos y tareas separados para copiar el archivo requerido a laapp
carpeta? Sé que se puede hacer usandotask
como se menciona en esta publicación . ¿Hay una manera más simple de tener un solo archivo o elegir el archivo correcto según la configuración de Gradle? - Veo que el
package_name
campogoogle-services.json
tiene el nombre del paquetecom.my.app.package.name
. ¿Puedo agregar múltiples nombres de paquetes manualmente para trabajar con todas las variantes de compilación? Si es así, ¿cómo hacer eso? No se encontraron instrucciones en la documentación.
fuente
Respuestas:
Verifique el nombre del paquete en google-services.json , debe coincidir con el nombre del paquete local de su aplicación
Ejemplo
En este caso, el nombre de mi paquete local es com.my.app.package.name, así que también he cambiado el nombre de mi paquete en google-services.json con mi nombre de paquete local.
fuente
Encontró esto:
Fuente
Fuente 2
fuente
No se ha encontrado ningún cliente coincidente para el nombre del paquete 'com.tf' . Estoy bastante seguro de que el "nombre_paquete" en google-services.json no coincide con su "ID de aplicación" en la aplicación gradle.
aplicación gradle:
google-services.json
Solución : solo asegúrese de que
package_name
yapplicationId
debe ser el mismo.fuente
application id
gradle en la aplicación lo clavóasegúrese de que el nombre de su paquete en el archivo "google-services.json" coincida con el nombre del paquete de sus aplicaciones.
fuente
He encontrado la solución:
Tenemos que crear dos "aplicaciones" en el proyecto firebase, y luego podemos descargar el archivo json desde cualquier aplicación (la descargué de la aplicación con sabor). Contendrá los datos de ambas aplicaciones. Simplemente podemos copiar el archivo json en el directorio raíz de la aplicación.
Fuente: https://firebase.googleblog.com/2016/08/organizing-your-firebase-enabled-android-app-builds.html
fuente
Necesita colocar
google-services.json
enapp/
dir. Y para cada tipo de compilación, debe haber un director acorde en laapp/src
carpeta.Por ejemplo, si tiene versión y depuración:
En todos los archivos google-services.json, debe especificar la correcta
package_name
según el tipo de compilación.Por ejemplo, dentro del directorio de depuración debería ser como
{com.myapp}.debug
fuente
"client"
matriz de s (agregar una coma entre los elementos) y cambiar solo el"package_name"
valor del nuevo elemento para incluir el.debug
sufijo. Luego reconstruir. Funcionó para mí en AS 2.3.3.Este error ocurre cuando tienes un archivo Json de Google Services descargado en tu proyecto cuyo nombre de paquete no coincide con el nombre del paquete de tu proyecto .
Recientemente renombró el nombre del paquete del proyecto?
Actualiza todas las clases pero no el archivo Gradle . Así que verifique si el nombre de su paquete es correcto en su Gradle, y también tal vez Manifiesto.
fuente
Haz debajo del paso.
1) Comprobar
applicationId
en el nivel de aplicacióngradle
archivo de ,2) Revisa
package_name
tugoogle-services.json
archivo,3) Revisa
package
tuAndroidManifest
archivoy para una confirmación completa, haga que el nombre del directorio de su paquete de trabajo, es decir ("com.example.app") también sea el mismo.
fuente
package
manifiesto (y todos los archivos en todos los paquetes), yaapplicationId
que cambiará la identificación de la aplicación.En primer lugar, agregue un sufijo al paquete de la aplicación en Gradle:
Esto hará que su paquete sea nombrado
Luego vaya a Firebase debajo de su proyecto actual y agregue otra aplicación de Android con este nombre de paquete.
Luego, reemplace el archivo existente google-services.json con el nuevo que genere con la nueva aplicación.
Luego terminarás con algo que tiene múltiples secciones "client_info". Entonces deberías terminar con algo como esto:
fuente
comprobar si
client_id
ypackage_name
en google-services.json tiene un valor correcto de acuerdo con el nombre de su paquete.Debe agregar el archivo mencionado en el directorio de sabores con el nombre del paquete correspondiente en el campo
client_id
ypackage_name
.fuente
1.Verifique el nombre del paquete y la identificación de la aplicación deben ser iguales
2.Verifique el nombre del paquete google-services.json que está disponible en la carpeta de la aplicación
fuente
Asegúrese de cambiar el nombre de ApplicationId en el archivo gradle después de cambiar el nombre de su paquete
fuente
Abra su archivo Google-services.json y busque esta sección en el archivo:
compruebe si el paquete es el mismo que el nombre de su paquete. El mío era diferente, así que lo cambié y funcionó.
fuente
Vengo de reaccionar nativo, pero creo que esto también se aplica a esta pregunta. Para especificar.
Dentro del archivo,
android/app/build.gradle
busqueapplicationId
(dentroandroid
,defaultConfig
)y asegúrese de que ese valor sea el mismo
client[0]client_info.android_client_info.package_name
como el valor dentro
google-services.json
.fuente
También debe cambiar el nombre del paquete en google-services.json
fuente
Si el nombre de su paquete en el archivo Google-services.json está bien, vaya al archivo gradle.properties. Luego cambie su APPLICATION_ID = "com.yourpackage.name"
fuente
Creo que ha agregado el archivo json de firebase "google-services" .json con el nuevo archivo. Asegúrese de crear un nuevo archivo, consulte el enlace sobre cómo crear un archivo json desde firebase y debe coincidir con el nombre de su paquete
Lo segundo es que si está cambiando el nombre del paquete, use la opción "reemplazar en ruta" cuando haga clic derecho debajo de los archivos cuando seleccione el proyecto en el menú desplegable. ¡Debe buscar el nombre del paquete en todo el proyecto y reemplazarlo!
Espero que esto ayude !
fuente
Si nada de eso funcionó para uno de ustedes, mi problema fue con un nombre de paquete que no comenzó con un 'com'. lo cambió, ahora funciona.
Espero que ayude
fuente
asegúrese de que el ID de aplicación de Gradle.app sea el mismo que su nombre de paquete. mi problema era este y lo resolví de esta manera
fuente
vaya al directorio de su proyecto y cree carpetas en la ruta de la aplicación / src que denominen los sabores de su producto (como Alpha, Beta, Store o el nombre de su sabor). luego copie su archivo google-services.json en cada carpeta. no olvide cambiar el campo "nombre_paquete" en el archivo google-services.json de cada sabor de producto que subcarpeó.
fuente
Vaya al archivo google-services.json y, en la parte del cliente, verifique el nombre del paquete y compárelo con el nombre del paquete de la aplicación si son diferentes, luego cambie el nombre del paquete del cliente de acuerdo con el nombre del paquete de la aplicación.
archivo google-services.json-> "nombre_paquete": "com.example.application.tracker"
Nombre del paquete de la aplicación-> paquete "com.example.application.tracker";
fuente
Lo resolví haciendo dos fuentes, una gratuita y otra paga. Ambas carpetas contendrán el código Java requerido y los archivos de recursos, que se editarán según los requisitos del sabor particular. Por ejemplo, desea eliminar el código de AdMob en el pago tanto de las clases de Java como de los archivos de diseño.
fuente
Resolví el mismo problema volviendo a sincronizar el archivo
google-services.json
.fuente
google-services.json
.Resolví el mismo problema aquí, es una solución simple: cuando cree una conexión Firebase , siga estas pautas:
Agregue el nombre de su aplicación en firebase
Agregue el nombre del paquete de la aplicación (escriba el mismo nombre del paquete que está utilizando en la aplicación)
cuando firebase cree el archivo google-services.json , simplemente descárguelo y péguelo en la carpeta de la aplicación
Sincroniza tu proyecto El problema está resuelto :)
Gracias
fuente
También recibo este problema cuando cambio el nombre del paquete de mi aplicación.
En su proyecto de estudio de Android, busque el archivo "google-services.json". Abrelo. y verifique si el nombre del paquete de su aplicación es el mismo que está escrito en este archivo.
El nombre del paquete de su aplicación y el nombre del paquete escrito en el archivo "google-services.json" debe ser el mismo.
fuente
Esto significa que su archivo google-services.json no pertenece a su aplicación (¿Descargó google-services.json para otra aplicación?) ... así que para resolver esto, haga lo siguiente:
1: Inicie sesión en Firebase y abra su proyecto. 2: Haga clic en el icono de Configuración y seleccione Configuración del proyecto. 3: En la tarjeta Sus aplicaciones, seleccione el nombre del paquete de la aplicación para la que necesita un archivo de configuración de la lista. 4: haga clic en google-services.json. Una vez completada la descarga, agregue el nuevo google-services.json a la carpeta raíz del proyecto, reemplazando el existente ... o simplemente elimine el anterior. Es muy normal descargar google-services.json para su primer proyecto y luego asumir u olvidar que este google-services.json específico está diseñado solo para su proyecto actual, porque no otro porque todos los proyectos tienen un nombre de paquete único.
fuente
Verifique
applicationIdSuffix
en el archivo build.gradle de su aplicación. Vea si está concatenando algún texto a suapplicationId
. Si es así, retírelo.fuente
puedes hacer eso para resolver este problema.
fuente
Así de simple. Cierre sesión en Android Studio, ciérrelo por completo. Vuelva a abrir Android Studio y luego vuelva a iniciar sesión en Android Studio.
Luego intente conectarse a firebase desde el IDE de estudio de Android. Este procedimiento funcionó para mí.
fuente
Es simple resolver esto: solo asegúrese de que el nombre del paquete en su archivo app / build.gradle sea el mismo nombre del paquete que el del archivo del Manifiesto de la aplicación. y asegúrese de que el nombre del paquete sea correcto. Eso debería resolver esto
fuente