Memperbarui konflik versi ke 8.4.0

197

Kesalahan :

Eksekusi gagal untuk tugas ': app: processDebugGoogleServices'. Harap perbaiki konflik versi dengan memperbarui versi plugin google-services (informasi tentang versi terbaru tersedia di sini ) atau memperbarui versi com.google.android.gms ke 8.3.0.

Saya telah melakukan semua hal yang saya temukan.

  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
        }

Dan dalam aplikasi gradle

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

Jawaban:

336

Gunakan dependensi ini untuk build.gradle proyek

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

dan letakkan ini di akhir file build.gradle tingkat aplikasi (setelah dependensi).

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

Saya tidak tahu mengapa meletakkan ini di akhir (dan bukan di awal) menyelesaikan kesalahan.

EDIT 5/1/2016

Ok ... Jadi mencoba untuk mengakhiri semua masalah yang kalian hadapi dengan solusi saya

Ini adalah tingkat level aplikasi akhir saya

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'

dan ini adalah level akhir proyek akhir saya

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

Bandingkan ini dengan file gradle Anda sendiri, dan tambahkan atau ubah nilai apa pun yang berbeda dari apa yang saya tulis.

sarasgupta
sumber
4
compile 'com.google.android.gms:play-services-auth:8.4.0juga akan diminta.
Shajeel Afzal
2
Saya selalu bertanya-tanya bagaimana orang menemukan solusi seperti ini. Percobaan dan kesalahan? Gulungan suci?
A. Steenbergen
77
Mengapa meletakkan itu apply plugin: 'com.google.gms.google-services'di akhir file build.gradle berfungsi dan meletakkannya di awal gagal?
toobsco42
8
Tidak ada solusi di atas yang berfungsi bagi saya untuk 8.4.0. Semua gagal setelah 'proyek Rebuild' ke-2 yang saya jalankan setelah menyimpan build.gradle. Build pertama bekerja (atau tidak gagal dengan keras), build kedua memberikan error sekitar 8.3.0 vs 8.4.0. Menggunakan 'com.google.android.gms: play-services' bukan individu yang gagal. Menggunakan (`classpath 'com.google.gms: google-services: 2.0.0-alpha3'`) gagal dengan kesalahan lain (pada build ke-2), jadi saya menggunakan 1.5.0. Menggunakan Pratinjau non Studio tidak membuat perbedaan.
Arberg
5
PENTING Jangan lupa untuk menambahkan file google-services.json Anda! jika tidak maka akan gagal dengan pesan "File google-services.json hilang dari folder root modul". Anda dapat membuat file di sini: developers.google.com/analytics/devguides/collection/android/v4 Dan seperti yang dikatakan oleh dokumen, selanjutnya Anda akan menambahkan file ini ke projectFolder / app (jadi root dari modul-aplikasi Anda).
Martin Pfeffer
63

Dalam modul aplikasi (build.gradle)

Bergerak :

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

ke baris terakhir menyelesaikan masalah.

Ksatria
sumber
3
bagi siapa pun yang bertanya-tanya mengapa memindahkan apply plugin:...baris ke akhir berfungsi, itu karena ini: "Langkah ini mengharuskan plugin yang berlaku: baris 'com.google.gms.google-services' berada di bagian bawah file app / build.gradle Anda sehingga tidak ada tabrakan ketergantungan yang diperkenalkan. Anda dapat melihat hasil dari langkah ini dengan menjalankan ./gradlew: app: dependencies. "
Tony Chan
15

Lakukan hal berikut:

  1. Masukkan yang berikut ini di build.gradle Anda (File tingkat level aplikasi)

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

Silakan periksa di sini untuk versi terbaru karena ini terus berubah.

  1. Jika Anda mendapatkan pesan kesalahan di bawah ini daripada Anda perlu meningkatkan pembungkus gradle Anda ke yang terbaru di gradle-wrapper.properties. Saya menggunakan 2.10.

Plugin terlalu tua, perbarui ke versi yang lebih baru, atau setel variabel lingkungan ANDROID_DAILY_OVERRIDE

  1. Letakkan baris berikut di bagian bawah build.gradle Anda (file tingkat modul level)

    apply plugin: 'com.google.gms.google-services
mthakuri
sumber
1
Menambahkan baris plugin yang berlaku di BOTTOM build.gradle saya memperbaikinya untuk saya. Terima kasih!
Panda4Man
Senang Anda ditentukan untuk memeriksa tautan untuk versi terbaru. Tidak ada versi sufiks beta yang berfungsi untuk saya dan saya tidak tahu dari mana orang mendapatkan semua versi ini. 2.12 akhirnya berhasil untuk saya.
Ryan H.
7

Ini tampaknya diperbaiki dengan versi 3.0.0 dari plugin Layanan Google (dan versi 9.0.0 dari pustaka Layanan Google Play). Jadi dengan ini

build.gradle tingkat atas

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

build.gradle tingkat aplikasi

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

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

Catatan Sisi Cepat: Jika Anda memperbarui ke versi 3.0.0 google-servicesplugin, pastikan untuk meregenerasi file konfigurasi Anda karena memiliki bidang baru (dijelaskan di sini ).

Sunting (2016-06-20): Walaupun ini mengkompilasi dan menjalankan, saya hanya memperhatikan bahwa dalam build logs tidak menentukan untuk meletakkan plugin di bagian bawah file, atau default (9.0.0) akan digunakan. Jadi dalam situasi di atas ini bukan masalah karena saya menggunakan versi 9.0.0, tapi ini bisa bermasalah ketika memperbarui ketergantungan. Ini lognya:

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
sumber
5

Bagi saya hanya berfungsi ini:

Tingkat terbaik.

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

Tingkat aplikasi:

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
sumber
1
pindah apply plugin: 'com.google.gms.google-services'ke bawah melakukan pekerjaan dalam proyek saya
Napoleon
harus di bawah adalah faktor kunci di sini
Dr. aNdRO
4

ditemukan dalam contoh resmi

dalam proyek 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()
    }
}

dalam gradle aplikasi

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
sumber
1
Untuk menggunakan alpha9bekerja untuk saya Gradle 2.11. Terima kasih untuk ini! Bisakah Anda tautkan ke contoh resmi mungkin juga bermanfaat untuk masalah lain seperti ini.
Cilenco
1
Contoh resmi
Peter Kao
2

Saya telah memperbarui di app build.gradle

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

dan aplikasi build.gradle

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

Ini bekerja untuk.

Raja Peela
sumber
2

Dalam kasus saya, saya telah menghapus "apply plugin: 'com.google.gms.google-services'" dari akhir gradle.build dan berfungsi dengan baik.

Chirag Thummar
sumber
1

Saya serching ... di halaman Google ada solusinya ... https://developers.google.com/android/guides/google-services-plugin#introduction

Tambahkan dependensi untuk pustaka dasar yang diperlukan untuk layanan yang telah Anda aktifkan. Langkah ini mengharuskan plugin yang berlaku: baris 'com.google.gms.google-services' berada di akhir file app / build.gradle Anda sehingga tidak ada tabrakan ketergantungan yang diperkenalkan.Anda dapat melihat hasil dari langkah ini dengan menjalankan ./gradlew: app: dependencies.

Wilkens Figueiredo
sumber
1

Tidak ada artinya dalam memindahkan plugin apply: 'com.google.gms.google-services'ke akhir build.gradle . Itu sama dengan tidak mendefinisikannya.

Hapus saja baris ini dan pastikan terapkan plugin: 'com.android.application ' ada di sana

Menggunakan:

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

itu akan dikompilasi.

Goku
sumber
Menerapkan plugin tidak / dapat memiliki efek pada versi mana yang digunakan. Lihat jawaban
Ryan H.
0

Dalam proyek gradle

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

di app / module gradle

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

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

Dalam tingkatan proyek:

       compileSdkVersion 23

Ini bekerja.

tidak
sumber
-3

Ini instruksi saya untuk memperbaikinya.

  1. Ubah untuk digunakan compile 'com.google.android.gms:play-services-location:8.3.0'dalam aplikasibuild.gradle
  2. Pindah apply plugin: 'com.google.gms.google-services'ke akhir aplikasibuild.gradle
  3. Gunakan classpath 'com.google.gms:google-services:2.0.0-alpha3'dalam build.gradleketergantungan proyek
  4. Ubah untuk digunakan gradle-2.8dalamgradle/wrapper/gradle-wrapper.properties
hawa11
sumber