tutorial studio now must flavors flavordimensions flavor configurar buildconfigfield belong all android android-studio gradle google-analytics android-productflavors

android - studio - No se ha encontrado ningún cliente coincidente para el nombre del paquete(Google Analytics): múltiples productos, favores y tipos de compilación



flavordimensions (30)

Siempre que cree o actualice el package name Asegúrese de que el nombre de su paquete sea exactamente el mismo [Mayúsculas y minúsculas son importantes]

Haz debajo del paso.

1) Compruebe applicationId en el archivo gradle nivel de gradle ,

2) Verifique package_name en su archivo google-services.json ,

3) Verifique el package en su archivo AndroidManifest

y para una confirmación completa, haga que el nombre del directorio de su paquete de trabajo, es decir ("com.example.app") sea ​​también el mismo.

Contexto:

Estoy tratando de configurar Google Analytics para mi aplicación. (tener 4 buildTypes personalizados y más de unos pocos productFlavors )

Funciona bien cuando selecciono la Build Variant que tiene el com.my.app.package.name applicationId establecido en com.my.app.package.name (el nombre del paquete utilizado al generar 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 Build Variants Tab en la Build Variants Tab (que tiene un ID de applicationId diferente (nombre del paquete) es la siguiente:

Error: Falló 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 es mi tipo de buildType personalizado y Allcategories es uno de mis productFlavors .

Entiendo el error y sé que el nombre del paquete es diferente de lo que usé al generar el json, pero eso es lo que estoy tratando de resolver.

Problema:

Ahora, google-services.json reside en la carpeta de la app y, por lo tanto, no puedo separarlos para cada sabor de producto soltándolos en la carpeta del conjunto de origen específico del sabor.

Preguntas:

  1. Mi byildType personalizado para depurar sufijos .debug en el .debug de applicationId (nombre del paquete). ¿Hay alguna manera de que funcione con google-services.json que tiene mi .debug applicationId lanzamiento (es decir, sin el sufijo .debug )
  2. ¿Hay alguna manera de tener múltiples sabores de productos configurados en el mismo archivo google-services.json sin usar archivos y tareas separados para copiar el archivo requerido a la carpeta de la app ? Sé que se puede hacer usando la task 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?
  3. Veo que el campo package_name en google-services.json tiene el nombre del paquete com.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.

1.Verifique que el nombre del paquete y la ID 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


Abra su archivo Google-services.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ó.


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í.


Asegúrese de cambiar el nombre de ApplicationId en el archivo gradle después de cambiar el nombre de su paquete


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 !


En primer lugar, agregue un sufijo al paquete de la aplicación en Gradle:

yourFlavor { applicationIdSuffix "yourFlavor" }

Esto hará que su paquete sea nombrado

com.domain.yourapp.yourFlavor

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:

"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" } }


Encontró esto:

El archivo google-services.json generalmente se coloca en el directorio app /, pero a partir de la versión 2.0.0-alpha3 del complemento se agregó soporte para los tipos de compilación , lo que haría válida la siguiente estructura de directorios:

app/src/ main/google-services.json dogfood/google-services.json mytype1/google-services.json ...

Source

Fuente 2


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


Este error ocurre cuando tiene un archivo Json de Google Services descargado en su proyecto cuyo nombre de paquete no coincide con el nombre del paquete de su 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.


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.



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.


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


Resolví el mismo problema volviendo a sincronizar el archivo google-services.json .

Herramientas> Firebase> Conectar a Firebase> Sincronizar


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"


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


También debe cambiar el nombre del paquete en google-services.json


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.


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";


Vengo de reaccionar nativo, pero creo que esto también se aplica a esta pregunta. Para especificar.

Dentro del archivo android/app/build.gradle busque applicationId (dentro de android , defaultConfig )

y asegúrese de que ese valor sea el mismo

client[0]client_info.android_client_info.package_name

como el valor dentro de google-services.json .


Verifique applicationIdSuffix en el archivo build.gradle de su aplicación. Vea si está concatenando algún texto a su applicationId . Si es así, retírelo.


Verifique el nombre del paquete en su google-services.json , debe coincidir 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, 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.


asegúrese de que el nombre de su paquete en el archivo "google-services.json" coincida con el nombre del paquete de sus aplicaciones.


compruebe si client_id y package_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 y package_name .


puedes hacer eso para resolver este problema.


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ó.


google-services.json colocar google-services.json en la app/ dir. Y para cada tipo de compilación, debe haber un director acorde en la carpeta app/src .

Por ejemplo, si tiene versión y depuración:

app/google-services.json app/src/debug/google-services.json

En todos los archivos google-services.json, debe especificar el 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


No se encontró 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:

defaultConfig { applicationId "com.tf" //replace with the package_name in google-services.json = minSdkVersion 23 targetSdkVersion 26 versionCode 7 versionName "1.0" testInstrumentationRunner "android.support.test.runner.AndroidJUnitRunner" }

google-services.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 applicationId deben ser iguales.


android { compileSdkVersion 27 defaultConfig { applicationId "com.package.name" minSdkVersion 19 targetSdkVersion 27 versionCode 1 versionName "1.0" testInstrumentationRunner "android.support.test.runner.AndroidJUnitRunner" }

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