Android Rehber API'si: Google Emulator’da Google Play Servisleri

Android uygulamamda Google Rehber API'sinin PlacePicker özelliğini kullanmaya çalışıyorum. Ancak, seçiciyi oluşturmaya çalıştığımda aşağıdaki hata iletisini alıyorum:

Google Play services out of date. Requires 7095000 but found 6774470

Ne yazık ki, öykünücüyü test etmeye bağlıyım çünkü fiziksel bir cihaza sahip değilim. Öykünücünün görüntüsü, Google API’lerin hedefi olan API düzeyi 22 x86'dır. Ayrıca, Google Play Servisleri kütüphanesini build.gradle dosyası yoluyla dahil etmeye çalıştım:

'com.google.android.gms:play-services:7.+'

Ayrıca, SDK Yöneticisindeki Google Play Servislerini de güncelledim. Neyi yanlış yapıyorum? Google Play hizmetlerimi nasıl güncelleyebilirim? Böylece Yerler API’sını kullanabilirim?

23
Aynı sorunu yaşıyorum (gerektirir 7327000 ama 6774470 bulundu) .. herhangi bir çözüm?
katma yazar Matias Elorriaga, kaynak
Çözümünüzü burada bulabilirsiniz [1]: android Google oyun hizmetleri "> stackoverflow.com/questions/29429727/…
katma yazar Abhishek, kaynak
Bu sorunun çözümünü kontrol edin: stackoverflow.com/questions/25809435/…
katma yazar Najeebullah Shah, kaynak
Bu sorunun çözümünü kontrol ettim, ancak zaten en yeni öykünücünün görüntüsünü zaten kullanıyorum, bu yüzden yardımcı olacağını sanmıyorum.
katma yazar user1594328, kaynak

9 cevap

Aynı sorunu yaşadım ve Google uygulamalarıyla API 21 emulator görüntüsüne geçmek zorunda kaldım. Bu daha güncel ve işe yarıyor.

15
katma
Yani bu bir emülatör sorunu mu? Bu gerçek bir cihazda olmaz mıydı?
katma yazar Igor Ganapolsky, kaynak
@Gorgan Ganapolsky Bir kullanıcı Google Play Hizmetlerini güncellemediğinde olabilir, ancak bu sorunu çözmek kullanıcıya kalmıştır.
katma yazar bompf, kaynak

SDK Yöneticisi en son sürümün yüklü olduğunu gösteriyorsa, emülatör tanımınızı çoğaltabilirsiniz.

Kopyalanan emülatör, SDK'nın en son sürümüyle birlikte yüklenecek.

enter image description here

5
katma
Mükemmel çalıştı, teşekkürler!
katma yazar realtebo, kaynak

Android giydirme işleminde Google-Play-servislerini kullandığımda da benzer bir problemim var, daha sonra android giydirme uygulaması sürümümü güncelleyerek çözüyorum. (çünkü daha yeni android aşınma sürümü daha yeni Google-Play-hizmetleri içerir)

Bu sorun, cihazınızdaki Google-Play hizmetleri sürümünün çok eski olması nedeniyle, cihazınızdaki Google-Play hizmetleri sürümünüzü güncellemelisiniz.

Emülatör için SDK'nızı güncellemek yerine emülatörünüzde Google-Play-servislerini güncellemeniz gerekiyor .

3
katma
Taklitçinizde nasıl güncellersiniz? Oyun Mağazasını emülatörde bulamıyorum.
katma yazar Davita, kaynak
Daha yeni bir AVD (Android Sanal Aygıt) hedefi kullanmanız gerekebilir.
katma yazar Morshues, kaynak

Diğerlerinin dediği gibi, bunun nedeni AVD’de kurulu olan Google Play’in bağımlılık gereksinimi ile eşleşmemesi. Başkalarının önerdiği çözümlerin yanı sıra, gerekli Google Play sürümümü 8,3'ten 8,1'e indirmeye çalıştım ve sorun çözüldü.

2
katma

Ben de aynı problemi yaşadım ve şu anda sürümü "önbellekleri geçersiz kılmak ve yeniden başlatmak için 6774480 olarak" güncelledim ", sonra" code.coogle.android.gms: play-services: 6 + ' ve işe yarıyor, bunun gerçek bir çözüm olmadığını biliyorum ama çalışmasını sağlamak için kötü bir yoldur, böylece uygulamamı test edebilirim

2
katma

Update your packages in Tools > Android > SDK Manager and then check all the packages in Extras that have an update available.

Bunu yaptıktan sonra (app) build.gradle dosyasındaki şu bağımlılığı kullanın.

compile 'com.google.android.gms:play-services:7.3.0'
1
katma
@IgorGanapolsky O zaman ne yapar?
katma yazar fuzz, kaynak
Bu, emülatörde kurulu olan Play Services sürümünü kontrol etmiyor.
katma yazar Igor Ganapolsky, kaynak
@gotnull Bu, öykünücünün en son Play Services sürümünün yüklü değilse, yapabileceğiniz hiçbir şey olmadığı anlamına gelir.
katma yazar Igor Ganapolsky, kaynak

benim logcat

Google Play hizmetleri güncel değil. 12210000 gerektirir, ancak bulundu 11947270

bu yüzden build.gradle kodunu değiştirdim

implementation 'com.google.android.gms:play-services-maps:12.0.0'

için

implementation 'com.google.android.gms:play-services-maps:11.0.0'

ve çalışıyor

0
katma

This is a workaround that I came up with since none of the solutions here worked for me. Also, I didnt want to update my code to use an older version of play services. I ended up installing the emulator with Google play instead of Google apis and then when the prompt came up I simply clicked update. This would take you to the Google play store and all you have to do is update play services from there. Only caveat here is that this method requires you to sign in to the emulator with a Google account. But for my use cases it was sufficient. Google play instead of <a href=Google api">

0
katma
Bu Android Studio sdk yöneticisi ekran görüntüsü @Jake
katma yazar Atul, kaynak
Bu ekran görüntüsü hangi ekrandan?
katma yazar Jake, kaynak

Sadece API 22 emülatörü ile bu sorunu yaşadım. 21 ve 23 iyiydi ve fiziksel cihazlarla ilgili sorunum yoktu.

Bu düşük sürümün GCM için kritik olup olmadığını bilmek çok meraklıydı, bu yüzden yine de devam etmesi için kodu değiştirdim:

if (checkPlayServices()) {
             //Start IntentService to register this application with GCM.
              Intent intent = new Intent(this, ImpatientRegistrationIntentService.class);
              startService(intent);
} else {<<--   Added this as a bypass as my emulator complained about versions
              Intent intent = new Intent(this, ImpatientRegistrationIntentService.class);
              startService(intent);
}

İlginç bir şekilde, API 22 emülatörü GCM'den bir belirteç aldı ve herhangi bir sorun olmadan aşağı akım push mesajları aldı.

0
katma