Conflitto di versione aggiornato alla 8.4.0


197

Errore :

Esecuzione non riuscita per l'attività ": app: processDebugGoogleServices". Correggi il conflitto di versione aggiornando la versione del plug-in Google Services (le informazioni sull'ultima versione sono disponibili qui ) o aggiornando la versione di com.google.android.gms alla versione 8.3.0.

Ho fatto tutte le cose che ho trovato.

  dependencies {
            // This does not break the build when Android Studio is missing the JRebel for Android plugin.
            classpath 'com.zeroturnaround.jrebel.android:jr-android-gradle:1.0.+'
            classpath 'com.android.tools.build:gradle:2.0.0-alpha3'
            classpath 'com.google.gms:google-services:2.0.0-alpha3'

            // NOTE: Do not place your application dependencies here; they belong
            // in the individual module build.gradle files
        }

E nel livello dell'app

    compile 'com.google.android.gms:play-services:8.4.0'

Risposte:


336

Utilizzare queste dipendenze per il progetto build.gradle

dependencies {
    classpath 'com.android.tools.build:gradle:2.0.0-alpha3'
    classpath 'com.google.gms:google-services:2.0.0-alpha3'
}

e inseriscilo alla fine del file build.gradle a livello di app (dopo le dipendenze).

apply plugin: 'com.google.gms.google-services'

Non ho idea del perché mettere questo alla fine (e non all'inizio) risolva l'errore.

MODIFICA 5/1/2016

Ok ... Quindi, cercando di porre fine a tutti i problemi che voi ragazzi avete affrontato con la mia soluzione

Questa è la mia valutazione finale a livello di app

apply plugin: 'com.android.application'

android {
    compileSdkVersion 23
    buildToolsVersion "23.0.2"

    defaultConfig {
        applicationId "your-app-name"
        minSdkVersion 16
        targetSdkVersion 23
        versionCode 1
        versionName "1.0"
    }
    buildTypes {
        release {
            minifyEnabled false
            proguardFiles getDefaultProguardFile('proguard-android.txt'), 'proguard-rules.pro'
        }
    }
}

repositories {
    jcenter()
}

dependencies {
    compile fileTree(dir: 'libs', include: ['*.jar'])
    testCompile 'junit:junit:4.12'
    compile 'com.android.support:appcompat-v7:23.1.1'
    compile 'com.google.android.gms:play-services:8.4.0'
    compile 'com.android.support:design:23.1.1'
    compile 'com.mcxiaoke.volley:library:1.0.6@aar'
}

apply plugin: 'com.google.gms.google-services'

e questo è il livello finale del mio progetto

// Top-level build file where you can add configuration options common to all sub-projects/modules.

buildscript {
    repositories {
        jcenter()
    }
    dependencies {
        classpath 'com.android.tools.build:gradle:2.0.0-alpha3'
        classpath 'com.google.gms:google-services:2.0.0-alpha3'

        // NOTE: Do not place your application dependencies here; they belong
        // in the individual module build.gradle files
    }
}

allprojects {
    repositories {
        jcenter()
    }
}

Confronta questo con i tuoi file gradle e aggiungi o modifica qualsiasi valore diverso da quello che ho scritto.


4
compile 'com.google.android.gms:play-services-auth:8.4.0sarà anche richiesto.
— Shajeel Afzal,

2
Mi chiedo sempre come le persone si imbattono in soluzioni come questa. Prova ed errore? Pergamene sacre?
— A. Steenbergen,

77
Perché mettere questo apply plugin: 'com.google.gms.google-services'alla fine del file build.gradle funziona e metterlo all'inizio non riesce?
— toobsco42,

8
Nessuna delle soluzioni precedenti funziona per me per 8.4.0. Tutto fallisce dopo il 2 ° "Progetto di ricostruzione" che eseguo dopo aver salvato build.gradle. La prima build funziona (o non fallisce rumorosamente), la seconda fornisce un errore di circa 8.3.0 contro 8.4.0. L'uso di "com.google.android.gms: play-services" anziché di singoli non è riuscito. L'uso di (`classpath 'com.google.gms: google-services: 2.0.0-alpha3'`) non è riuscito con altri errori (sulla seconda build), quindi uso 1.5.0. L'uso dell'anteprima non di Studio non ha fatto la differenza.
— Arberg,

5
IMPORTANTE Non dimenticare di aggiungere il tuo file google-services.json! altrimenti fallirà con il messaggio "File google-services.json mancante dalla cartella principale del modulo". Puoi creare il file qui: developers.google.com/analytics/devguides/collection/android/v4 E come dicono i documenti, successivamente aggiungerai questo file a projectFolder / app (quindi la radice del tuo modulo app).
— Martin Pfeffer,

63

Nel modulo dell'applicazione (build.gradle)

In movimento :

apply plugin: 'com.google.gms.google-services'

all'ultima riga ha risolto il problema.


3
per chiunque si chieda perché lo spostamento della apply plugin:...linea alla fine funzioni, è per questo: "Questo passaggio richiede che il plug-in di applicazione: la riga 'com.google.gms.google-services' sia nella parte inferiore del file app / build.gradle in modo che non vengano introdotte collisioni di dipendenze. Puoi vedere il risultato di questo passaggio eseguendo ./gradlew: app: dipendenze. "
— Tony Chan,

15

Eseguire le seguenti operazioni:

  1. Inserisci quanto segue nel tuo build.gradle (file gradle a livello di applicazione)

    dependencies {
          classpath 'com.android.tools.build:gradle:2.0.0-beta2'
          classpath 'com.google.gms:google-services:2.0.0-beta2'
    }

Controlla qui per l'ultima versione in quanto continua a cambiare.

  1. Se viene visualizzato il messaggio di errore riportato di seguito, è necessario aggiornare il wrapper gradle all'ultimo in gradle-wrapper.properties. Sto usando 2.10.

Il plug-in è troppo vecchio, aggiorna a una versione più recente o imposta la variabile di ambiente ANDROID_DAILY_OVERRIDE

  1. Metti la seguente riga in fondo al tuo build.gradle (file gradle a livello di modulo)

    apply plugin: 'com.google.gms.google-services

1
L'aggiunta della riga di applicazione del plug-in nella parte inferiore del mio build.gradle l'ha risolta per me. Grazie!
— Panda4Man,

Sono contento di aver specificato di controllare il collegamento per l'ultima versione. Nessuna delle versioni beta con suffisso funzionava per me e non avevo idea da dove la gente prendesse tutte queste versioni. 2.12 finalmente ha funzionato per me.
— Ryan H.

7

Questo sembra essere stato risolto con la versione 3.0.0 del plug-in Google Services (e la versione 9.0.0 della libreria Google Play Services). Quindi con questo

build.gradle di livello superiore

dependencies {
    classpath 'com.google.gms:google-services:3.0.0'
}

build.gradle a livello di app

apply plugin: 'com.google.gms.google-services'

dependencies {
    compile 'com.google.android.gms:play-services:9.0.0
}

Nota rapida: se si sta eseguendo l'aggiornamento alla versione 3.0.0 del google-servicesplug-in, assicurarsi di rigenerare il file di configurazione in quanto ha nuovi campi (spiegato qui ).

Modifica (20/06/2016): Mentre questo viene compilato ed eseguito, ho appena notato che nei registri di build specifica di mettere il plugin nella parte inferiore del file o verrà utilizzato il valore predefinito (9.0.0). Quindi nella situazione sopra non è un problema poiché sto usando la versione 9.0.0, ma questo può essere problematico quando aggiorno la dipendenza. Ecco il registro:

google-services plugin could not detect any version for com.google.android.gms or com.google.firebase, default version: 9.0.0 will be used. please apply google-services plugin at the bottom of the build file.


5

Per me funziona solo questo:

Livello superiore.

dependencies {
    classpath 'com.android.tools.build:gradle:2.1.0'
    classpath 'com.google.gms:google-services:3.0.0'
}

Livello app:

dependencies {
    compile 'com.google.android.gms:play-services-gcm:9.0.1'
    compile 'com.google.android.gms:play-services-location:9.0.1'
}

// should be at the bottom
apply plugin: 'com.google.gms.google-services'

1
trasferirsi apply plugin: 'com.google.gms.google-services'in fondo ha fatto il lavoro nel mio progetto
— Napoleone,

dovrebbe essere in fondo il fattore chiave qui
— Dr. aNdRO

4

trovato nell'esempio ufficiale

nel grado di progetto

// Top-level build file where you can add configuration options common to all sub-projects/modules.

buildscript {
    repositories {
        jcenter()
    }
    dependencies {
        classpath 'com.android.tools.build:gradle:2.0.0-alpha9'
        classpath 'com.google.gms:google-services:2.0.0-alpha9'

        // NOTE: Do not place your application dependencies here; they belong
        // in the individual module build.gradle files
    }
}

allprojects {
    repositories {
        jcenter()
    }
}

nel livello dell'app

apply plugin: 'com.android.application'

android {
    compileSdkVersion 23
    buildToolsVersion "23.0.2"

    defaultConfig {
        applicationId "com.google.samples.quickstart.signin"
        minSdkVersion 18
        targetSdkVersion 23
        versionCode 1
        versionName "1.0"

        testInstrumentationRunner "android.support.test.runner.AndroidJUnitRunner"
    }

    buildTypes {
        release {
            minifyEnabled false
            proguardFiles getDefaultProguardFile('proguard-android.txt'), 'proguard-rules.pro'
        }
    }

    packagingOptions {
        exclude 'LICENSE.txt'
    }

    // Resolve dependency differences between app and tests
    configurations.all {
        resolutionStrategy.force 'com.android.support:support-annotations:23.1.1'
    }
}

dependencies {
    compile fileTree(dir: 'libs', include: ['*.jar'])
    compile 'com.android.support:appcompat-v7:23.1.1'
    compile 'com.android.support:design:23.1.1'

    // Dependency for Google Sign-In
    compile 'com.google.android.gms:play-services-auth:8.4.0'

    // UiAutomatorTesting
    androidTestCompile 'com.android.support.test:runner:0.4.1'
    androidTestCompile 'com.android.support.test:rules:0.4.1'
    androidTestCompile 'com.android.support.test.uiautomator:uiautomator-v18:2.1.2'
    androidTestCompile 'com.android.support:support-annotations:23.1.1'
}

apply plugin: 'com.google.gms.google-services'

1
Usare ha alpha9funzionato per me Gradle 2.11. Grazie per questo! Potete per favore collegarvi all'esempio ufficiale, forse è utile anche per altri problemi come questo.
— Cilenco,


2

Ho aggiornato nell'app build.gradle

dependencies {
....
compile 'com.google.android.gms:play-services-auth:9.0.0'

e app build.gradle

  dependencies {
    classpath 'com.android.tools.build:gradle:2.1.0'
    classpath 'com.google.gms:google-services:3.0.0'
}

Funziona per.


2

Nel mio caso ho rimosso il "applica plug-in: 'com.google.gms.google-services'" dalla fine di gradle.build e il suo corretto funzionamento.



1

Stavo cercando ... sulla pagina di Google c'è la soluzione ... https://developers.google.com/android/guides/google-services-plugin#introduction

Aggiungi dipendenze per le librerie di base richieste per i servizi che hai abilitato. Questo passaggio richiede che il plug-in di applicazione: la riga "com.google.gms.google-services" sia alla fine del file app / build.gradle in modo che non vengano introdotte collisioni di dipendenze. Puoi vedere il risultato di questo passaggio eseguendo ./gradlew: app: dipendenze.


1

Non ha senso spostare il plugin apply: 'com.google.gms.google-services'alla fine di build.gradle . È come non definirlo.

Rimuovi questa riga e assicurati di applicare il plug-in: "com.android.application ' è lì

Uso:

compile 'com.google.android.gms:play-services-gcm:8.4.0'
compile 'com.google.android.gms:play-services:8.4.0'

si compilerà.


L'applicazione del plug-in ha / potrebbe avere un effetto sulla versione utilizzata. Vedi questa risposta di rguerinet
— Ryan H.

0

A livello di progetto

buildscript {
    repositories {
        jcenter()
    }
    dependencies {
        classpath 'com.google.gms:google-services:2.0.0-alpha6'
    }
}

in gradi app / modulo

apply plugin: 'com.google.gms.google-services'
android {
    ...
}

dependencies {
    compile 'com.google.android.gms:play-services-analytics:8.3.0'
}

-1

Nel grado di progetto:

       compileSdkVersion 23

Funziona.


-3

Ecco le mie istruzioni per risolverlo.

  1. Cambia da usare compile 'com.google.android.gms:play-services-location:8.3.0' in appbuild.gradle
  2. Passa apply plugin: 'com.google.gms.google-services'alla fine dell'appbuild.gradle
  3. Utilizzare classpath 'com.google.gms:google-services:2.0.0-alpha3'nel progettobuild.gradle dipendenza del
  4. Cambia da usare gradle-2.8ingradle/wrapper/gradle-wrapper.properties
Utilizzando il nostro sito, riconosci di aver letto e compreso le nostre Informativa sui cookie e Informativa sulla privacy.
Licensed under cc by-sa 3.0 with attribution required.