No se encontró ningún cliente coincidente para nombre de paquete (Google Analytics) - multiple productFlavors & buildTypes
Context:
Estoy tratando de configurar Google Analytics para mi aplicación. (teniendo 4 costumbre buildTypes
y más de unos pocos productFlavors
)
Funciona bien cuando selecciono el Build Variant
que tiene el applicationId
establecido en com.my.app.package.name
(el nombre del paquete utilizado al generar el google-services.json
). Pero, mis otros sabores tienen diferentes aplicaciones.
Seguí el oficial devguide para configurarlo.
Error que obtengo cuando se selecciona cualquier otra variante de compilación en Build Variants Tab
(que tiene un diferente applicationId
(nombre del paquete) es el siguiente:
Error: Falló la ejecución de la tarea ':app:processAllcategoriesDebugfreeGoogleservices'.
No coincidentes cliente encontró para el nombre del paquete " com.mi.app.paquete.nombre.debug'
Explicación del Mensaje de error:
En el nombre de la tarea en el mensaje de error anterior Debugfree
es mi personalizado buildType
y Allcategories
es uno de mis productFlavors
.
entiendo el error y saber el nombre del paquete es diferente de lo que usé al generar el json, pero eso es lo que estoy tratando de encontrar una forma de evitarlo.
Problema:
Ahora, el google-services.json
reside en la carpeta app
y, por lo tanto, no puedo separarlos para cada tipo de producto al soltarlos en la carpeta de conjunto de origen específico del tipo.
Preguntas:
- Mi personalizado
byildType
para depurar sufijos.debug
alapplicationId
(nombre del paquete). Ser hay una manera que puedo hacer que funcione con elgoogle-services.json
que tiene mi liberaciónapplicationId
(es decir, sin el sufijo.debug
) - ¿Existe una manera de tener varios tipos de productos configurados en el mismo archivo
google-services.json
sin usar archivos y tareas separados para copiar el archivo requerido a la carpetaapp
? Sé que se puede hacer usandotask
como se menciona en este post. ¿Hay una forma más sencilla de tener un solo archivo o elegir el archivo correcto basado en la configuración de gradle? - Veo el campo
package_name
engoogle-services.json
tiene el nombre del paquetecom.my.app.package.name
. ¿Puedo agregar varios nombres de paquetes manualmente para que funcionen en todas las variantes de compilación? En caso afirmativo, ¿cómo hacerlo? No se pudo encontrar ninguna instrucción en la documentación.
26 answers
Encontré esto:
Los servicios de Google.el archivo json generalmente se coloca en la aplicación/ directorio, pero a partir de la versión 2.0.0-alpha3 del soporte plugin fue agregado para tipos de compilación, que haría el siguiente directorio estructura válida:
app/src/ main/google-services.json dogfood/google-services.json mytype1/google-services.json ...
Warning: date(): Invalid date.timezone value 'Europe/Kyiv', we selected the timezone 'UTC' for now. in /var/www/agent_stack/data/www/ajaxhispano.com/template/agent.layouts/content.php on line 61
2016-01-25 12:09:25
Comprueba el nombre de tu paquete en tus servicios de Google.json debería ser lo mismo con el nombre del paquete local de su aplicación
Ejemplo
"client_info": {
"mobilesdk_app_id": "1:6596814400689:android:65d6f25f5006145",
"android_client_info": {
"package_name": "com.my.app.package.name"
}
En este caso mi nombre de 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
Warning: date(): Invalid date.timezone value 'Europe/Kyiv', we selected the timezone 'UTC' for now. in /var/www/agent_stack/data/www/ajaxhispano.com/template/agent.layouts/content.php on line 61
2018-09-13 07:07:15
Asegúrese de que el nombre de su paquete esté en "google-services".el archivo json " es el mismo que el nombre del paquete de sus aplicaciones.
Warning: date(): Invalid date.timezone value 'Europe/Kyiv', we selected the timezone 'UTC' for now. in /var/www/agent_stack/data/www/ajaxhispano.com/template/agent.layouts/content.php on line 61
2017-01-21 13:40:28
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 (he descargado desde la aplicación con sabor). Contendrá los datos de ambas aplicaciones. Simplemente podemos copiar el archivo json al directorio raíz de la aplicación.
Fuente: https://firebase.googleblog.com/2016/08/organizing-your-firebase-enabled-android-app-builds.html
Warning: date(): Invalid date.timezone value 'Europe/Kyiv', we selected the timezone 'UTC' for now. in /var/www/agent_stack/data/www/ajaxhispano.com/template/agent.layouts/content.php on line 61
2016-12-27 10:58:45
Cada vez que cree o actualice
package name
Asegúrese de que el nombre de su paquete sea exactamente el mismo [Mayúsculas y minúsculas]
Haga el paso siguiente.
1). Compruebe applicationId
en el archivo de nivel de aplicación gradle
,
2). Marque {[3] } en su archivo google-services.json
,
3). Marque {[5] } en su archivo AndroidManifest
Y para la confirmación completa haga su nombre de directorio del paquete de trabajo i.e. ("com.ejemplo.app") es también lo mismo.
Warning: date(): Invalid date.timezone value 'Europe/Kyiv', we selected the timezone 'UTC' for now. in /var/www/agent_stack/data/www/ajaxhispano.com/template/agent.layouts/content.php on line 61
2018-06-18 09:40:18
Debe colocar google-services.json
en app/
dir. Y para cada tipo de construcción, debe haber un director acorde en
app/src
carpeta.
Por ejemplo, si tiene release y debug:
app/google-services.json
app/src/debug/google-services.json
En todos los servicios de Google.archivos json debe especificar package_name
correcto según el tipo de compilación.
Por ejemplo, dentro del directorio de depuración debería ser como {com.myapp}.debug
Warning: date(): Invalid date.timezone value 'Europe/Kyiv', we selected the timezone 'UTC' for now. in /var/www/agent_stack/data/www/ajaxhispano.com/template/agent.layouts/content.php on line 61
2016-11-10 04:10:22
Abre tus servicios de Google.json y busque esta sección en el archivo:
"client": [
{
"client_info": {
"mobilesdk_app_id": "1:857242555489:android:46d8562d82407b11",
"android_client_info": {
"package_name": "com.example.duke_davis.project"
}
}
Compruebe si el paquete es el mismo que el nombre de su paquete. El mío era diferente, así que lo cambié y funcionó.
Warning: date(): Invalid date.timezone value 'Europe/Kyiv', we selected the timezone 'UTC' for now. in /var/www/agent_stack/data/www/ajaxhispano.com/template/agent.layouts/content.php on line 61
2017-03-03 04:09:49
Compruebe si client_id
y package_name
en los servicios de Google.json tiene un valor correcto de acuerdo con su nombre de paquete.
Debe agregar el archivo mencionado en el directorio de sabores con el nombre de paquete correspondiente en el campo client_id
y package_name
.
Warning: date(): Invalid date.timezone value 'Europe/Kyiv', we selected the timezone 'UTC' for now. in /var/www/agent_stack/data/www/ajaxhispano.com/template/agent.layouts/content.php on line 61
2016-05-30 17:21:55
Vengo de react native, pero creo que esto también se aplica a esta pregunta. Especificar.
Dentro del archivo android/app/build.gradle
buscar applicationId
(dentro android
, defaultConfig
)
Y asegúrese de que ese valor es el mismo este
client[0]client_info.android_client_info.package_name
Como el valor dentro de google-services.json
.
Warning: date(): Invalid date.timezone value 'Europe/Kyiv', we selected the timezone 'UTC' for now. in /var/www/agent_stack/data/www/ajaxhispano.com/template/agent.layouts/content.php on line 61
2017-08-01 18:16:07
Asegúrate de renombrar applicationId en el archivo gradle después de renombrar tu paquete
Warning: date(): Invalid date.timezone value 'Europe/Kyiv', we selected the timezone 'UTC' for now. in /var/www/agent_stack/data/www/ajaxhispano.com/template/agent.layouts/content.php on line 61
2016-12-21 05:02:54
Si el nombre de su paquete en Google-services.archivo json está bien, Ve a Gradle.archivo de propiedades. A continuación, cambie su APPLICATION_ID="com.yourpackage.name"
Warning: date(): Invalid date.timezone value 'Europe/Kyiv', we selected the timezone 'UTC' for now. in /var/www/agent_stack/data/www/ajaxhispano.com/template/agent.layouts/content.php on line 61
2017-03-12 04:09:15
También necesita cambiar el nombre del paquete en google-services.json
Warning: date(): Invalid date.timezone value 'Europe/Kyiv', we selected the timezone 'UTC' for now. in /var/www/agent_stack/data/www/ajaxhispano.com/template/agent.layouts/content.php on line 61
2018-05-01 08:17:29
Si nada de esto 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
Warning: date(): Invalid date.timezone value 'Europe/Kyiv', we selected the timezone 'UTC' for now. in /var/www/agent_stack/data/www/ajaxhispano.com/template/agent.layouts/content.php on line 61
2017-04-04 15:50:26
Creo que ha agregado el archivo firebase json "google-services".json con el nuevo archivo. Asegúrese de crear un nuevo archivo compruebe el enlace sobre cómo crear un archivo json desde firebase y debería 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 con el botón derecho en archivos cuando seleccione proyecto del menú desplegable. Debe buscar el nombre del paquete en todo el proyecto y reemplazarlo !
Espero que esto ayude !
Warning: date(): Invalid date.timezone value 'Europe/Kyiv', we selected the timezone 'UTC' for now. in /var/www/agent_stack/data/www/ajaxhispano.com/template/agent.layouts/content.php on line 61
2018-03-17 12:07:37
Vaya al directorio de su proyecto y cree carpetas en la ruta app/src que nombraron los tipos de productos (como Alfa, Beta, Tienda o el nombre de su tipo). luego copie sus servicios de Google.archivo json a cada carpeta. no olvides cambiar el campo "package_name" en los servicios de Google de cada tipo de producto.archivo json que subcarpetas.
Warning: date(): Invalid date.timezone value 'Europe/Kyiv', we selected the timezone 'UTC' for now. in /var/www/agent_stack/data/www/ajaxhispano.com/template/agent.layouts/content.php on line 61
2017-11-13 14:44:42
android {
compileSdkVersion 27
defaultConfig {
applicationId "com.package.name"
minSdkVersion 19
targetSdkVersion 27
versionCode 1
versionName "1.0"
testInstrumentationRunner "android.support.test.runner.AndroidJUnitRunner"
}
Asegúrate de Gradle.applicationid de la aplicación es el mismo nombre de su paquete. mi problema era este y resolví de esta manera
Warning: date(): Invalid date.timezone value 'Europe/Kyiv', we selected the timezone 'UTC' for now. in /var/www/agent_stack/data/www/ajaxhispano.com/template/agent.layouts/content.php on line 61
2018-07-17 09:12:13
En primer lugar, agregue un sufijo al paquete de aplicación en Gradle:
yourFlavor {
applicationIdSuffix "yourFlavor"
}
Esto hará que su paquete se llame
com.domain.yourapp.yourFlavor
Luego ve a Firebase bajo tu proyecto actual y agrega otra aplicación de Android con este nombre de paquete.
Luego reemplace los servicios de Google existentes.archivo json con el nuevo que generes con la nueva aplicación en él.
Entonces terminará con algo que tiene varias secciones "client_info". Así que deberías terminar con algo así:
"client_info": {
"mobilesdk_app_id": "YOUR APP INFO",
"android_client_info": {
"package_name": "com.domain.yourapp"
}
}
"client_info": {
"mobilesdk_app_id": "YOUR APP INFO - will be different then other app info",
"android_client_info": {
"package_name": "com.domain.yourapp.yourFlavor"
}
}
Warning: date(): Invalid date.timezone value 'Europe/Kyiv', we selected the timezone 'UTC' for now. in /var/www/agent_stack/data/www/ajaxhispano.com/template/agent.layouts/content.php on line 61
2018-07-17 20:51:04
Lo resolví haciendo dos conjuntos de fuentes , uno gratis y otro pagado. Ambas carpetas contendrán el código java requerido y los archivos de recursos, que se editarán según los requisitos del tipo particular. Por ejemplo, le gustaría eliminar el Código AdMob en el Pago tanto de las Clases Java como de los archivos de diseño.
Warning: date(): Invalid date.timezone value 'Europe/Kyiv', we selected the timezone 'UTC' for now. in /var/www/agent_stack/data/www/ajaxhispano.com/template/agent.layouts/content.php on line 61
2016-11-13 10:48:50
Resolví el mismo problema al volver a sincronizar el archivo google-services.json
.
Herramientas > Firebase > Conectarse a Firebase > Sincronizar
Warning: date(): Invalid date.timezone value 'Europe/Kyiv', we selected the timezone 'UTC' for now. in /var/www/agent_stack/data/www/ajaxhispano.com/template/agent.layouts/content.php on line 61
2017-10-09 11:42:17
Resolví el mismo problema aquí está la solución simple: cuando cree conexión firebase siga estas pautas:
-
Agregue el nombre de su aplicación en firebase
-
Agregue el nombre de su aplicación pakage (escriba el mismo nombre pakage ,que está utilizando en la aplicación)
Cuando firebase haga google-services.json archivo descargar y pegar en su carpeta de la aplicación
-
Sincronizar el problema del proyecto está resuelto :)
Gracias
Warning: date(): Invalid date.timezone value 'Europe/Kyiv', we selected the timezone 'UTC' for now. in /var/www/agent_stack/data/www/ajaxhispano.com/template/agent.layouts/content.php on line 61
2017-12-01 12:01:44
Vaya a google-services.el archivo json y en la parte del cliente comprueban el nombre del paquete y lo comparan con el nombre del paquete de la aplicación si son diferentes entonces cambian el nombre del paquete del cliente según su nombre del paquete de la aplicación funcionó para mí la mejor de las suertes..
Servicios de Google.json file - > "package_name": "com.ejemplo.aplicación.rastreador "
Nombre del paquete de la aplicación- > paquete " com.ejemplo.aplicación.tracker";
Warning: date(): Invalid date.timezone value 'Europe/Kyiv', we selected the timezone 'UTC' for now. in /var/www/agent_stack/data/www/ajaxhispano.com/template/agent.layouts/content.php on line 61
2018-03-17 08:33:47
Esto significa sus servicios de Google.el archivo json tampoco pertenece a su aplicación (¿descargó los servicios de Google?).json para otra aplicación?) do así que para resolver esto haga lo siguiente:
1:Inicia sesión en Firebase y abre tu proyecto. 2: Haga clic en el icono Configuración y seleccione Configuración del proyecto. 3: En la tarjeta Your apps, 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-servicios.json. Después de que se complete la descarga,agregue la nueva google-servicios.json a la carpeta raíz del proyecto,reemplazando la existente..o simplemente borra el viejo. Es muy normal descargar los servicios de Google.json para su primer proyecto y luego asumir u olvidar que este específico google-services.json se adapta solo para su proyecto actual, porque no para cualquier otro porque todos los proyectos tienen un nombre de paquete único.
Warning: date(): Invalid date.timezone value 'Europe/Kyiv', we selected the timezone 'UTC' for now. in /var/www/agent_stack/data/www/ajaxhispano.com/template/agent.layouts/content.php on line 61
2018-01-24 20:16:59
También tengo este problema cuando cambio el nombre del paquete de mi aplicación.
En su proyecto de Android studio encontrar "google-servicios.archivo json". Ábralo. y compruebe 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 "google-services.el archivo json" debe ser el mismo.
Warning: date(): Invalid date.timezone value 'Europe/Kyiv', we selected the timezone 'UTC' for now. in /var/www/agent_stack/data/www/ajaxhispano.com/template/agent.layouts/content.php on line 61
2018-06-13 04:37:36
No se encontró ningún cliente coincidente para package name 'com.tf" Estoy bastante seguro de que El "package_name" en google-services.json no coincide con tu "applicationId" en app gradle.
Aplicación gradle:
defaultConfig {
applicationId "com.tf"
minSdkVersion 23
targetSdkVersion 26
versionCode 7
versionName "1.0"
testInstrumentationRunner "android.support.test.runner.AndroidJUnitRunner"
}
Servicios de Google.json
"client_info": {
"mobilesdk_app_id": "1:23978655351:android:2b2fece6b961cc70",
"android_client_info": {
"package_name": "in.ac.geu.debug"
}
},
Solución : Solo asegúrese de que package_name
y applicatoinId
deben ser iguales.
Warning: date(): Invalid date.timezone value 'Europe/Kyiv', we selected the timezone 'UTC' for now. in /var/www/agent_stack/data/www/ajaxhispano.com/template/agent.layouts/content.php on line 61
2018-09-25 14:25:59
Simplemente. Cierre sesión en Android Studio, ciérrelo por completo. Vuelva a abrir Android Studio y, a continuación, vuelva a iniciar sesión en Android Studio.
Luego intente conectarse a firebase desde el IDE de Android Studio. Este procedimiento funcionó para mí.
Warning: date(): Invalid date.timezone value 'Europe/Kyiv', we selected the timezone 'UTC' for now. in /var/www/agent_stack/data/www/ajaxhispano.com/template/agent.layouts/content.php on line 61
2018-05-16 12:04:34
Es sencillo resolver esto: solo asegúrate del nombre del paquete en tu app/build.gradle file es el mismo nombre de paquete que los del archivo de manifiesto de tu App. y asegúrese de que el nombre del paquete es correcto. Eso debería resolver esto
Warning: date(): Invalid date.timezone value 'Europe/Kyiv', we selected the timezone 'UTC' for now. in /var/www/agent_stack/data/www/ajaxhispano.com/template/agent.layouts/content.php on line 61
2018-07-16 20:27:08