Google Play Services GCM 9.2.0 meminta untuk "memperbarui" kembali ke 9.0.0

178

Jadi pagi ini saya mulai memperbarui ke versi terbaru dari perpustakaan proyek saya.

Saya mencoba memperbarui GCM ke versi terbaru 9.2.0, tetapi saya mendapatkan kesalahan ini:

Kesalahan: Eksekusi gagal untuk tugas ': app: processDebugGoogleServices'. Harap perbaiki konflik versi dengan memperbarui versi plugin layanan Google (informasi tentang versi terbaru tersedia di https://bintray.com/android/android-tools/com.google.gms.google-services/ ) atau memperbarui versi com.google.android.gms ke 9.0.0.

Ini adalah bagaimana saya memiliki kode saya:

dependencies {
    classpath 'com.android.tools.build:gradle:2.1.2'
    classpath 'com.google.gms:google-services:3.0.0'
    classpath 'com.neenbedankt.gradle.plugins:android-apt:1.8'
}

Lalu:

dependencies {
    ...

    compile "com.google.android.gms:play-services-gcm:9.2.0"

    ...
}

Adakah yang memiliki masalah yang sama / memperbaiki masalah yang sama?

Terima kasih.

EDIT

Tampaknya Anda harus menerapkan plugin GSM Anda di bagian bawah file app / build.gradle Anda. Selain itu, versi 9.2.0 akan menyebabkan konflik dalam proyek Anda.

Untuk referensi, seperti inilah tampilan file app / build.gradle saya sekarang:

apply plugin: "com.android.application"
apply plugin: "com.neenbedankt.android-apt"

android {
    ...
}

dependencies {
    ...

    // Google Cloud Messaging
    compile "com.google.android.gms:play-services-gcm:9.2.0"

    ...
}

apply plugin: "com.google.gms.google-services"
herrmartell
sumber
masalah yang sama di sini, saya kembali ke 9.0.0
mbonnin
@ mbonnin saya akhirnya melakukan hal yang sama. Tetapi tentu ingin tahu apa yang terjadi di sini. Belum beruntung menemukan jawaban.
herrmartell
2
Dan kemudian 9.0.0 memiliki bug ini stackoverflow.com/questions/37361651/… dan solusinya tampaknya memperbarui ke 9.2.0 .... Yang tidak mungkin berkat bug di sini :-(
mbonnin
6
itu berfungsi jika saya menerapkan plugin di akhir file build.gradle seperti kata Gusthema di bawah
mbonnin
Baca cara memperbaiki masalah ini dengan cara yang benar dalam posting saya di sini .
Pedro Varela

Jawaban:

507

Apakah Anda memiliki garis

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

baris di bagian bawah file build.gradle aplikasi Anda?

Saya melihat beberapa kesalahan ketika berada di atas dan seperti yang tertulis di sini , seharusnya ada di bawah.

Gusthema
sumber
11
Itu tidak benar, plugin gms harus ada di bagian bawah file seperti yang Anda lihat di sini di docs for gms: developers.google.com/android/guides/google-services-plugin
Gusthema
1
Saya berdiri dikoreksi. Apapun, ini tidak akan menyelesaikan masalah.
herrmartell
1
Saya tidak yakin mengapa pertama kali saya mencobanya, tidak berhasil. Baru mencobanya lagi karena komentar @mbonnin, dan sekarang berfungsi. Terima kasih.
herrmartell
9
Saya telah menambahkan baris ini di awal file, tetapi berhasil setelah meletakkannya di bagian bawah.
SHA2NK
2
Menambahkan plugin di bagian bawah menyelesaikan konflik versi.
Pratima
54

Cukup letakkan baris ini di bagian bawah gradlefile modul aplikasi Anda (bukan proyek root) .

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

Kemudian bangun kembali proyek Anda.

Vara
sumber
11

Saya memiliki masalah yang sama, hari ini 2016 - oktober - 06 saya menyelesaikan ini:

Saya mengubah semua dependensi yang dimulai dengan 9.?.? ke 9.6.1 saya dikompilasi dengan SDK versi 24 dan versi target 17.

Ada paket lain dalam solusi saya karena saya menggunakan lebih banyak hal daripada hanya otentikasi.

Setelah mengubah build.gradle Anda (Modul: aplikasi) dengan kode di bawah ini lakukan:

  1. Masukkan NAMA paket Anda di baris dengan kata applicationId "com.YOUR_PACKAGE_HERE"

  2. Sinkronkan proyek Anda (Ctrl + alt + v) dan Bangun Lagi.

Ini adalah kode dari file buid.gradle (Module: app) yang berfungsi untuk saya:

apply plugin: 'com.android.application'

android {
    compileSdkVersion 24
    buildToolsVersion "24.0.3"
    defaultConfig {
        applicationId "com.YOUR_PACKAGE_HERE"
        minSdkVersion 24
        targetSdkVersion 17
        versionCode 1
        versionName "1.0"
        testInstrumentationRunner "android.support.test.runner.AndroidJUnitRunner"
    }
    buildTypes {
        release {
            minifyEnabled false
            proguardFiles getDefaultProguardFile('proguard-android.txt'), 'proguard-rules.pro'
        }
    }
}

dependencies {
    compile fileTree(dir: 'libs', include: ['*.jar'])
    androidTestCompile('com.android.support.test.espresso:espresso-core:2.2.2', {
        exclude group: 'com.android.support', module: 'support-annotations'
    })

    compile 'com.google.firebase:firebase-core:9.6.1'
    compile 'com.google.firebase:firebase-database:9.6.1'

    compile 'com.android.support:appcompat-v7:24.2.1'
    compile 'com.android.support:design:24.2.1'

    compile 'com.google.firebase:firebase-crash:9.6.1'
    testCompile 'junit:junit:4.12'

    compile 'com.google.firebase:firebase-messaging:9.6.1'

    compile 'com.google.firebase:firebase-ads:9.6.1'


    compile 'com.google.firebase:firebase-auth:9.6.1'


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

}
apply plugin: 'com.google.gms.google-services'
Gustavomcls
sumber
6

Situasi yang sama terjadi pada versi sebelumnya. Diumumkan bahwa versi baru com.google.android.gms perpustakaan selalu merilis sebelum plugin, dan tidak mungkin untuk menggunakan versi baru karena tidak kompatibel dengan plugin lama. Saya tidak tahu apakah plugin sekarang diperlukan (google docs sucks). Saya ingat saat-saat ketika tidak. Satu-satunya cara adalah menunggu versi plugin baru, atau Anda dapat mencoba menghapus dependensi plugin, tetapi seperti yang saya katakan saya tidak yakin apakah gcm akan bekerja tanpa itu. Yang saya tahu fitur utama dari versi 9.2.0 adalah API Kesadaran baru https://inthecheesefactory.com/blog/google-awareness-api-in-action/en , jika Anda tidak membutuhkannya, Anda dapat menggunakan 9.0. 0 versi tanpa masalah.

yaneq6
sumber
Ah, pergilah. Karena tidak ada dokumentasi yang menyatakan sebaliknya, saya berasumsi versi terbaru akan diluncurkan dengan plugin yang diperlukan. AFAIK, Anda memang membutuhkan plugin untuk membuat GCM berfungsi, jadi saya rasa ini adalah solusi manual-check-for-update.
herrmartell
1
Tentunya @yaneq google docs menyebalkan, punya masalah yang sama sekarang
Lutaaya Huzaifah Idris
5

Solusi Gustavomcls untuk mengubah com.google. * Versi ke versi yang sama bekerja untuk saya.

Saya mengubah kedua ketergantungan menjadi 9.2.1 di buid.gradle (Modul: aplikasi)

compile 'com.google.firebase:firebase-ads:9.2.1'
compile 'com.google.android.gms:play-services:9.2.1'
Rahul Bagal
sumber
Saya punya masalah ini juga karena firebase, tapi saya tidak suka solusi ini untuk menurunkan versi firebase ke 9.2.1
Sam Bellerose
2

buka app/build.gradledari modul aplikasi Anda dan tulis ulang di bawah baris setelah blok dependensi. Ini memungkinkan plugin untuk menentukan versi layanan Play apa yang Anda gunakan

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

Saya mendapat ide ini dari sini . Dalam tutorial ini, poin kedua mengatakan bahwa baris plugin di atas berada di bagian bawah app/build.gradlefile Anda sehingga tidak ada tabrakan ketergantungan yang diperkenalkan. Semoga ini bisa membantu Anda.

Rahul Sharma
sumber
Mengapa Anda mengulangi jawaban yang telah diberikan setengah tahun yang lalu?
Bevor
2

Untuk Aplikasi Cordova OR Ionic Hybrid

Saya memiliki masalah yang sangat mirip dengan Iova 1 Cordova Build saya setelah Mengintegrasikan Firebase Cloud Messaging (FCM)

Saya memperbaiki masalah ini dengan langkah-langkah berikut

Jadi satu perbaikan akan menjadi: di dalam platform / android open project.properties (Ini file), Anda akan memiliki sesuatu seperti ini

cordova.system.library.1=com.google.android.gms:play-services-ads:+
cordova.system.library.2=com.google.firebase:firebase-core:+
cordova.system.library.3=com.google.firebase:firebase-messaging:+

Ganti

+

Masuk dengan nomor versi target Anda - seperti berikut ini

cordova.system.library.1=com.google.android.gms:play-services-ads:9.0.0
cordova.system.library.2=com.google.firebase:firebase-core:9.0.0
cordova.system.library.3=com.google.firebase:firebase-messaging:9.0.0

Simpan file

Kemudian gunakan build menggunakan

 ionic cordova run android

Saya harap ini akan bekerja untuk semua orang

sijo vijayan
sumber
Ini baru saja mengubah kesalahan. Itu agak baik karena saya hanya menerima kesalahan yang sama bahkan dengan ribuan solusi dicoba.
angkasawan
2

Tambahkan baris ini di bagian bawah gradle.

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

karena bagian atas tidak berfungsi. Saya menghadapi masalah yang sama.

Mudassir Khan
sumber
1

jika Anda menyertakan Firebase juga, buatlah versi yang sama seperti yang dikatakan kesalahan.

srlgrg
sumber
0

Saya tidak memiliki masalah dengan ini sampai saya mencoba menggunakan Layanan Lokasi, di mana saya harus meletakkan apply plugin: 'com.google.gms.google-services'bagian bawah file, daripada bagian atas. Alasannya adalah bahwa ketika Anda memilikinya di bagian atas ada masalah tabrakan, dan dengan menempatkannya di bagian bawah, Anda menghindari masalah itu.

BlackHatSamurai
sumber
-1

Target Anda SDKmungkin lebih tinggi SDKdari perangkat, ubah itu. Misalnya, perangkat Anda menjalankan API 23 tetapi target Anda SDKadalah 25. Ubah 25 menjadi 23.

Mohit Mishra
sumber