Atualização de conflito de versão para 8.4.0

197

Erro :

Falha na execução da tarefa ': app: processDebugGoogleServices'. Corrija o conflito de versão atualizando a versão do plug-in google-services (informações sobre a versão mais recente estão disponíveis aqui ) ou atualizando a versão de com.google.android.gms para 8.3.0.

Eu fiz todas as coisas que encontrei.

  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 no aplicativo gradle

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

Respostas:

336

Use essas dependências para o projeto build.gradle

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

e coloque isso no final do arquivo build.gradle no nível do aplicativo (após as dependências).

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

Não faço idéia por que colocar isso no final (e não no começo) resolve o erro.

EDIT 1/5/2016

Ok ... Então, tentando acabar com todos os problemas que vocês enfrentaram com a minha solução

Este é o meu nível final de aplicativo

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 este é o meu nível final de projeto

// 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()
    }
}

Compare isso com seus próprios arquivos gradle e adicione ou modifique quaisquer valores diferentes do que escrevi.

sarasgupta
fonte
4
compile 'com.google.android.gms:play-services-auth:8.4.0também será necessário.
Shajeel Afzal
2
Eu sempre me pergunto como as pessoas tropeçam em soluções como essa. Tentativa e erro? Pergaminhos sagrados?
A. Steenbergen 02/01
77
Por que colocar isso apply plugin: 'com.google.gms.google-services'no final do arquivo build.gradle funcionaria e colocá-lo no início falha?
precisa saber é o seguinte
8
Nenhuma das soluções acima funciona para mim na 8.4.0. Tudo falha após o segundo 'Projeto de reconstrução' executado após salvar o build.gradle. A primeira compilação funciona (ou não falha muito), a segunda apresenta um erro de 8.3.0 vs 8.4.0. O uso de 'com.google.android.gms: play-services' em vez de indivíduos falhou. O uso de (`classpath 'com.google.gms: google-services: 2.0.0-alpha3' ') falhou com outro erro (na segunda versão), então eu uso a versão 1.5.0. Usar a Visualização não do Studio não fez diferença.
Arberg
5
IMPORTANTE Não esqueça de adicionar seu arquivo google-services.json! caso contrário, falhará com a mensagem "O arquivo google-services.json está ausente na pasta raiz do módulo". Você pode criar o arquivo aqui: developers.google.com/analytics/devguides/collection/android/v4 E, como dizem os documentos, em seguida, você adicionará esse arquivo ao projectFolder / app (a raiz do seu módulo de aplicativo).
Martin Pfeffer
63

No módulo do aplicativo (build.gradle)

Movendo:

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

até a última linha resolveu o problema.

Cavaleiro
fonte
3
para quem se pergunta por que a mudança da apply plugin:...linha para o final funciona, é por causa disso: "Esta etapa requer que o plug-in de aplicação: 'com.google.gms.google-services' esteja na parte inferior do arquivo app / build.gradle para que não sejam introduzidas colisões de dependência. Você pode ver o resultado desta etapa executando ./gradlew: app: dependencies. "
Tony Chan
15

Faça o seguinte:

  1. Coloque o seguinte em seu build.gradle (arquivo gradle no nível do aplicativo)

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

Verifique aqui a versão mais recente, pois isso continua mudando.

  1. Se você receber a mensagem de erro abaixo, precisará atualizar seu wrapper gradle para o mais recente em gradle-wrapper.properties. Estou usando o 2.10.

O plug-in é muito antigo, atualize para uma versão mais recente ou defina a variável de ambiente ANDROID_DAILY_OVERRIDE

  1. Coloque a seguinte linha na parte inferior do seu build.gradle (arquivo gradle no nível do módulo)

    apply plugin: 'com.google.gms.google-services
mthakuri
fonte
1
A adição da linha de plug-in apply no BOTTOM do meu build.gradle a corrigiu. Obrigado!
precisa saber é o seguinte
Que bom que você especificou para verificar o link para a versão mais recente. Nenhuma das versões com sufixo beta estava funcionando para mim e eu não tinha ideia de onde as pessoas estavam obtendo todas essas versões. 2.12 finalmente funcionou para mim.
Ryan H.
7

Isso parece ter sido corrigido com a versão 3.0.0 do plug-in do Google Services (e a versão 9.0.0 da biblioteca do Google Play Services). Então com isso

nível superior build.gradle

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

nível de aplicativo build.gradle

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

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

Nota: Se você estiver atualizando para a versão 3.0.0 do google-servicesplug - in, certifique-se de gerar novamente seu arquivo de configuração, pois possui novos campos (explicados aqui ).

Editar (20/06/2016): Embora isso seja compilado e executado, observei que nos logs de construção ele especifica colocar o plug-in na parte inferior do arquivo, ou o padrão (9.0.0) será usado. Portanto, na situação acima, isso não é um problema, pois estou usando a versão 9.0.0, mas isso pode ser problemático ao atualizar a dependência. Aqui está o log:

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.

jguerinet
fonte
5

Para mim funciona apenas isso:

Nível superior.

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

Nível do aplicativo:

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'
Denshov
fonte
1
movendo-se apply plugin: 'com.google.gms.google-services'para o fundo fez o trabalho no meu projeto
Napoleão
deve estar no fundo é o fator chave aqui
Dr. aNdRO 28/03
4

encontrado no exemplo oficial

no projeto gradle

// 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()
    }
}

no aplicativo gradle

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'
Peter Kao
fonte
1
Para usar alpha9trabalhou para mim com Gradle 2.11. Obrigado por isso! Você pode fazer o link para o exemplo oficial, talvez também seja útil para outros problemas como este.
Cilenco
1
Exemplo oficial
Peter Kao
2

Eu atualizei no 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'
}

Está trabalhando para.

Raja Peela
fonte
2

No meu caso, removi o "plugin de aplicação: 'com.google.gms.google-services'" do final do gradle.build e está funcionando bem.

Chirag Thummar
fonte
1

Eu estava pesquisando ... na página do Google, há a solução ... https://developers.google.com/android/guides/google-services-plugin#introduction

Adicione dependências para bibliotecas básicas necessárias para os serviços que você ativou. Esta etapa requer que a linha do plug-in de aplicação: 'com.google.gms.google-services' esteja no final do seu arquivo app / build.gradle para que nenhuma colisão de dependência seja introduzida. Você pode ver o resultado desta etapa executando ./gradlew: app: dependencies.

Wilkens Figueiredo
fonte
1

Não há sentido em mover o plugin de aplicação: 'com.google.gms.google-services'até o final do build.gradle . É o mesmo que não defini-lo.

Basta remover esta linha e aplicar o plugin: ' com.android.application' existe

Usar:

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

irá compilar.

Goku
fonte
A aplicação do plug-in / pode afetar a versão usada. Veja esta resposta por rguerinet
Ryan H.
0

No projeto gradle

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

no aplicativo / módulo gradle

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

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

No projeto gradle:

       compileSdkVersion 23

Está funcionando.

nocmmnt
fonte
-3

Aqui está minha instrução para corrigi-lo.

  1. Alterar para usar compile 'com.google.android.gms:play-services-location:8.3.0'no aplicativobuild.gradle
  2. Mover apply plugin: 'com.google.gms.google-services'para o final do aplicativobuild.gradle
  3. Usar classpath 'com.google.gms:google-services:2.0.0-alpha3'na build.gradledependência do projeto
  4. Alterar para usar gradle-2.8emgradle/wrapper/gradle-wrapper.properties
hawa11
fonte