Google Play Hizmetleri GCM 9.2.0, tekrar 9.0.0'a "güncelleme" yapılmasını istiyor


178

Bu sabah proje kütüphanelerimin en son sürümüne güncelleme yapmaya başladım.

GCM'yi en son sürüm 9.2.0'a güncellemeye çalışıyorum, ancak bu hatayı alıyorum:

Hata: ': app: processDebugGoogleServices' görevi için yürütme başarısız oldu. Lütfen google-services eklentisinin sürümünü güncelleyerek sürüm çakışmasını giderin (en son sürümle ilgili bilgilere https://bintray.com/android/android-tools/com.google.gms.google-services/ adresinden ulaşılabilir ) veya com.google.android.gms sürümünün 9.0.0 sürümüne güncellenmesi.

Bu benim kod var:

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'
}

Ve sonra:

dependencies {
    ...

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

    ...
}

Aynı sorunu yaşayan / aynı sorunu gideren var mı?

Teşekkürler.

DÜZENLE

Görünüşe göre GSM eklentinizi app / build.gradle dosyanızın altına uygulamanız gerekiyor. Aksi takdirde, 9.2.0 sürümü projenizde çakışmaya neden olacaktır.

Başvuru için, benim app / build.gradle dosya şimdi böyle görünüyor:

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"

burada aynı sorunu, ben 9.0.0 geri döndü
mbonnin

@mbonnin Ben de aynısını yaptım. Ama elbette burada neler olduğunu bilmek istiyor. Henüz bir cevap bulmakta şanslı değildim.
herrmartell

2
Ve sonra 9.0.0 bu hatayı stackoverflow.com/questions/37361651/… ve çözüm 9.2.0 güncellemek gibi görünüyor .... Buradaki hata sayesinde mümkün değil :-(
mbonnin

6
Gusthema'nın dediği gibi build.gradle dosyasının sonunda eklentiyi uygularsam çalışır
mbonnin

Bu sorunu yazımda doğru şekilde nasıl düzelteceğinizi buradan okuyun .
Pedro Varela

Yanıtlar:


507

Hattın var mı

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

uygulamanızın build.gradle dosyasının altındaki satır?

Üstte iken bazı hatalar gördüm ve burada yazıldığı gibi , altta olmalı.


11
Bu doğru değil, gms eklentisi burada gms dokümanlarında görebileceğiniz gibi dosyanın altında olmalıdır: developers.google.com/android/guides/google-services-plugin
Gusthema

1
Ben düzeltilmiş duruyorum. Ne olursa olsun, bu sorunu çözmeyecektir.
herrmartell

1
Neden ilk denediğimden emin değilim, işe yaramadı. @Mbonnin'in yorumu nedeniyle tekrar denedim ve şimdi çalışıyor. Teşekkür ederim.
herrmartell

9
Bu satırı dosyanın başlangıcına ekledim, ancak en altına koyduktan sonra çalıştı.
SHA2NK

2
Eklentinin altına eklenmesi sürüm çakışmasını çözdü.
Pratima

54

Bu satırı uygulama modülünüzün (proje kökü gradledosyasının değil) altına yerleştirin .

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

Ardından projenizi yeniden oluşturun.


11

Aynı sorunu yaşadım, bugün 2016 - Ekim - 06 Bununla çözdüm:

9 ile başlayan tüm bağımlılıkları değiştirdim.?.? sdk sürüm 24 ve hedef sürüm 17 ile derledim.

Çözümümde başka paketler var çünkü yalnızca kimlik doğrulamasından daha çok şey kullandım.

Build.gradle (Modül: app) aşağıdaki kod ile değiştirdikten sonra yapın:

  1. NAME paketinizi applicationId "com.YOUR_PACKAGE_HERE" kelimeleriyle aynı hizaya getirin

  2. Projenizi senkronize edin (Ctrl + alt + v) ve Yeniden Oluşturun.

Benim için çalışan buid.gradle (Modül: app) dosyasının kodu:

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'

6

Aynı durum önceki sürümlerde de vardı. Com.google.android.gms kitaplıklarının yeni sürümlerin eklentiden önce her zaman yayınlanması can sıkıcıdır ve eski eklentiyle uyumlu olmadığı için yeni sürümü kullanmak imkansızdır. Eklentinin artık gerekli olup olmadığını bilmiyorum (google dokümanlar berbat). Olmadığı zamanları hatırlıyorum. Tek yol, yeni eklenti sürümünü beklemek veya eklenti bağımlılıklarını kaldırmayı deneyebilirsiniz, ancak dediğim gibi gcm'nin onsuz çalışıp çalışmayacağından emin değilim. 9.2.0 sürümünün ana özelliğini bildiğim yeni Farkındalık API'sı https://inthecheesefactory.com/blog/google-aociety-api-in-action/en , ihtiyacınız yoksa, 9.0'ı kullanabilirsiniz. 0 sürümü sorunsuz.


Ah, git şekil. Aksi belirtilmedikçe, en yeni sürümlerin gerekli eklenti ile sunulacağını varsaydım. AFAIK, GCM'nin çalışması için eklentiye ihtiyacınız var, bu yüzden bu güncelleme için manuel kontrol çözümü olduğunu tahmin ediyorum.
herrmartell

1
Kesinlikle @yaneq google dokümanlar berbat, şu anda aynı sorunu var
Lutaaya Huzaifah Idris

5

Gustavomcls'in com.google. * Sürümünü aynı sürüme değiştirme çözümü benim için çalıştı.

Buid.gradle'da her iki bağımlılığı da 9.2.1 olarak değiştiriyorum (Modül: app)

compile 'com.google.firebase:firebase-ads:9.2.1'
compile 'com.google.android.gms:play-services:9.2.1'

Bu sorunu firebase nedeniyle de yaşadım, ancak firebase sürümünü 9.2.1'e düşürmek için bu çözümü sevmiyorum
Sam Bellerose

2

açmak app/build.gradleUygulamaya modülünden ve bağımlılıklar engellemek sonra sınırının altında yeniden yazmak. Bu, eklentinin hangi Play hizmetlerini kullandığınızı belirlemesine olanak tanır

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

Bu fikri buradan aldım . Bu öğreticide ikinci nokta, eklenti satırının app/build.gradledosyanızın altında olduğunu ve böylece bağımlılık çakışmalarının ortaya çıkmayacağını söylüyor. Umarım size yardımcı olur.


Neden yarım yıl önce verilen cevapları tekrarlıyorsunuz?
Bevor

2

Cordova OR Ionic Hybrid Uygulaması için

Firebase Bulut Mesajlaşmasını (FCM) Entegre Ettikten Sonra Ionic 1 Cordova Build'ımla çok benzer bir sorunum var

Bu sorunu aşağıdaki adımlarla çözdüm

Yani bir düzeltme olacak: platformlar içinde / android açık proje.properties (Onun bir dosya), böyle bir şey olacak

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:+

Değiştirin

+

Hedef sürüm numaranızla oturum açın - aşağıdakiler gibi

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

Dosya 'yı kaydet

Sonra kullanarak inşa almak

 ionic cordova run android

Umarım bu herkes için işe yarar


Bu sadece hatayı değiştirdi. Denenmiş binlerce çözümde bile sadece aynı hatayı alıyorum.
spaceman

2

Bu satırı kalenin altına ekleyin.

eklenti uygula: 'com.google.gms.google-hizmetler'

çünkü üstte işe yaramıyor. Ben benzer bir sorunla karşı karşıyaydım.


1

Firebase'iniz de varsa, bunları hatanın söylediği sürümle aynı yapın.


0

Konum Hizmetlerini kullanmaya çalışana kadar bununla ilgili bir sorunum olmadı, bu noktada apply plugin: 'com.google.gms.google-services'dosyanın yerine üst kısmına koymak zorunda kaldım . Bunun nedeni, en üstte bulunduğunuzda çarpışma sorunları olduğu ve en alta yerleştirerek bu sorundan kaçınmanızdır.


-1

Hedefiniz cihazdan SDKdaha yüksek olabilir SDK, bunu değiştirin. Örneğin, cihazınız API 23 çalıştırıyor ancak hedefiniz SDK25. 25 ile 23 arasında değiştirin.

Sitemizi kullandığınızda şunları okuyup anladığınızı kabul etmiş olursunuz: Çerez Politikası ve Gizlilik Politikası.
Licensed under cc by-sa 3.0 with attribution required.