Chaque fois que j'essaie de construire mon projet, j'obtiens cette erreur:
Execution failed for task ':app:processReleaseGoogleServices'.
No matching client found for package name 'com.my.package'
J'ai fait et refait le google-services.json
et ai utilisé l'application et le package com.my.package
.
Voici mon projet build.gradle:
buildscript {
repositories {
...
}
dependencies {
classpath 'com.Android.tools.build:gradle:2.0.0-beta6'
classpath 'com.github.JakeWharton:sdk-manager-plugin:220bf7a88a7072df3ed16dc8466fb144f2817070'
classpath 'com.neenbedankt.gradle.plugins:Android-apt:1.8'
classpath 'io.fabric.tools:gradle:1.+'
classpath 'com.newrelic.agent.Android:agent-gradle-plugin:4.265.0'
classpath 'com.google.gms:google-services:2.0.0-alpha9'
}
}
allprojects {
repositories {
...
}
}
// Define versions in a single place
ext {
supportLibraryVersion = '23.2.0'
playServicesVersion = '8.4.0'
}
Voici mon application build.gradle:
apply plugin: 'Android-sdk-manager'
apply plugin: 'com.Android.application'
apply plugin: 'io.fabric'
apply plugin: 'newrelic'
apply plugin: 'com.neenbedankt.Android-apt'
Android {
packagingOptions {
exclude 'LICENSE.txt'
exclude 'META-INF/LICENSE'
exclude 'META-INF/LICENSE.txt'
exclude 'META-INF/NOTICE'
exclude 'META-INF/services/javax.annotation.processing.Processor'
}
dexOptions {
jumboMode true
}
lintOptions {
disable 'InvalidPackage'
abortOnError false
}
compileSdkVersion 23
buildToolsVersion '23.0.2'
defaultConfig {
applicationId "com.my.package"
minSdkVersion 15
targetSdkVersion 23
}
buildTypes {
debug {
applicationIdSuffix '.debug'
versionNameSuffix '-DEBUG'
...
}
staging {
applicationIdSuffix '.staging'
versionNameSuffix '-STAGING'
...
}
release {
...
}
}
}
dependencies {
compile "com.Android.support:support-v4:$rootProject.supportLibraryVersion",
"com.Android.support:support-annotations:$rootProject.supportLibraryVersion",
"com.Android.support:percent:$rootProject.supportLibraryVersion",
"com.Android.support:appcompat-v7:$rootProject.supportLibraryVersion",
"com.Android.support:mediarouter-v7:$rootProject.supportLibraryVersion",
"com.google.Android.gms:play-services-base:$rootProject.playServicesVersion",
"com.google.Android.gms:play-services-cast:$rootProject.playServicesVersion",
"com.google.Android.gms:play-services-gcm:$rootProject.playServicesVersion",
"com.google.Android.gms:play-services-analytics:$rootProject.playServicesVersion",
...
'com.newrelic.agent.Android:android-agent:4.265.0',
'com.Android.support:multidex:1.0.0'
compile 'com.squareup.dagger:dagger:1.2.1'
}
apply plugin: 'com.google.gms.google-services'
J'ai suivi les instructions ici plusieurs fois. J'utilise également ma configuration de version, il n'y a donc aucune raison que l'applicationIdSuffix soit un problème. De plus, com.my.pacakage n'est qu'un substitut de mon nom pacakge. Que puis-je faire pour résoudre ce problème?
Le problème était en fait avec NewRelic, pas avec ma configuration. Je l'ai enlevé et ai suivi cette réponse alors que j'utilisais BuildTypes. Maintenant, il compile comme prévu.
Vous devez fournir google-services.json
pour tous les saveurs (version et développement, etc.)
Un seul google-services.json
peut avoir json/data pour tous les goûts. Accédez à la console Google Developers et régénérez le fichier google-services.json
.
Mise à jour
Vous pouvez également créer des fichiers google-services.json
distincts pour les variantes.
https://developers.google.com/Android/guides/google-services-plugin
Google vient d'inclure le support de flavors sur la version 2.0 du plugin play services. Depuis cette version du plugin gradle com.google.gms:google-services:2.0.0-alpha9
tu peux le faire
Pour plus de détails, cliquez sur le lien ci-dessous. Si vous voulez plus de détails sur ce que ce plugin fait avec ces fichiers json, le voici :
Lien vers la documentation officielle:
Et allez ici pour vérifier la dernière version de ce plugin :
Dans mon cas, cela a résolu mon problème
...
"client": [
{
"client_info": {
"mobilesdk_app_id": "yourid",
"Android_client_info": {
"package_name": "ru.example.app"
}
},
...
nom_package doit être identique à celui dans applicationId
defaultConfig {
applicationId "ru.example.app"
minSdkVersion 15
targetSdkVersion 23
...
}
Probablement un peu tard mais j'ai eu un problème similaire.
Cela s'est produit lorsque j'ai initialement connecté mon application à Firebase Analytics pour une raison quelconque, car elle ne prenait que mon style de "débogage".
Je devais me connecter à Firebase, accéder à la console, sélectionner le projet pertinent, puis ajouter manuellement la version "release" supplémentaire.
Ensuite, je me suis reconnecté à Firebase dans Android Studio (qui a automatiquement mis à jour et téléchargé le fichier json de Firebase dans Studio), puis j'ai re-compilé mon application et cela a fonctionné.