web-dev-qa-db-fra.com

L'exécution à échoué pour la tâche ': app: processReleaseGoogleServices'. > Aucun client trouvé pour le nom du paquet

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?

6
MrEngineer13

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.

0
MrEngineer13

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

5
user4774371

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

 enter image description here

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

lien de référence.

3
Maheshwar Ligade

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
                ...
    }
2
Dmitriy Melekhov

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

0
gregrobinz