5

Ogni volta che cerco di costruire il mio progetto continuo a ricevere questo errore:Esecuzione non riuscita per l'attività ": app: processReleaseGoogleServices". > Nessun cliente corrispondente trovato per nome del pacchetto

Execution failed for task ':app:processReleaseGoogleServices'. 
No matching client found for package name 'com.my.package' 

ho fatto e rifatto il google-services.json e hanno utilizzato l'applicazione e il pacchetto com.my.package.

Ecco il mio progetto 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' 
} 

Ecco la mia app 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' 

Ho seguito le istruzioni here più volte. Sto anche utilizzando la mia configurazione di rilascio, quindi non ci sono motivi per cui applicationIdSuffix dovrebbe essere un problema. Inoltre, com.my.pacakage è solo una supplenza per il mio nome di pacakge. Cosa posso fare per risolvere questo problema?

risposta

0

Il problema era in realtà con NewRelic non con la mia configurazione. L'ho rimosso e seguito this answer mentre stavo usando BuildTypes. Ora compila come previsto.

+0

Cosa intendi con NewRelic? – Jaydev

+0

NewRelic è usato per monitorare la tua app - https://newrelic.com/ – MrEngineer13

4

è necessario fornire google-services.json per tutti i gusti (rilascio e sviluppo, ecc)

singoli google-services.json può avere JSON/dati per tutti i gusti. Vai a Google Developers Console e rigenerare google-services.json file di

Aggiornamento

È inoltre possibile creare google-services.json file separati per i sapori

https://developers.google.com/android/guides/google-services-plugin

3

Google ha appena incluso il supporto per sapori sulla versione 2.0 di il plugin dei servizi di gioco. Dal momento che questa versione del plugin Gradle com.google.gms:google-services:2.0.0-alpha9

si può fare questo

enter image description here

Per maggiori informazioni si prega passano attraverso il collegamento sotto. Se volete maggiori dettagli su ciò che questo plugin fa con questi file JSON, here it is:

Link to the official docs:

E vai qui per controllare la versione più recente di this plugin:

Ref link.

2

Nel mio caso è risolto il mio problema

 ... 
"client": [ 
     { 
      "client_info": { 
      "mobilesdk_app_id": "yourid", 
      "android_client_info": { 
       "package_name": "ru.example.app" 
      } 
      }, 
     ... 

nome_pacchetto dovrebbe essere lo stesso come in ApplicationID

 defaultConfig { 
       applicationId "ru.example.app" 
       minSdkVersion 15 
       targetSdkVersion 23 
       ... 
    } 
+0

finalmente ... questo ha funzionato anche per me. Grazie – r3dm4n

0

Probabilmente un po 'tardi, ma ho avuto un problema simile.

Si è verificato quando ho inizialmente collegato la mia app all'analisi di Firebase per qualche motivo, ma ha solo migliorato il mio gusto di "debug".

Ho dovuto accedere a Firebase, andare alla console e selezionare il progetto pertinente e quindi aggiungere manualmente il sapore aggiuntivo "di rilascio".

Quindi mi sono ricollegato a Firebase in Android Studio (che ha aggiornato e scaricato automaticamente il file json da Firebase in Studio), ha ricompilato la mia app e ha funzionato.

Problemi correlati