Android Places API:模拟器上的Google Play服务已过期

时间:2015-04-13 04:42:38

标签: android android-emulator google-play-services google-places-api

我正在尝试在我的Android应用中使用Google Places API的PlacePicker。但是,每当我尝试创建选择器时,都会收到以下错误消息:

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

不幸的是,我依赖于模拟器上的测试,因为我没有物理设备。模拟器的图像是API级别22 x86,具有Google API目标。此外,我试图通过build.gradle文件包含Google Play服务库:

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

此外,我已在SDK Manager中更新了Google Play服务。我究竟做错了什么?如何更新我的Google Play服务,以便我可以使用Places API?

9 个答案:

答案 0 :(得分:15)

我遇到了同样的问题,不得不转向使用谷歌应用程序的API 21模拟器图像。那个更新,更有效。

答案 1 :(得分:9)

如果SDK Manager显示您已安装最新版本,则只需复制仿真器定义即可。

复制的模拟器将加载最新版本的SDK。

enter image description here

答案 2 :(得分:3)

当我在Android服装上使用Google-Play-services时遇到类似的问题,然后通过更新我的android wear app版本来解决它。 (因为较新的Android版本包括较新的Google-Play服务)

由于您设备上的Google Play服务版本导致此问题太旧,您应该在设备上更新您的Google Play服务版本。

对于模拟器,您需要在模拟器上更新Google-Play服务,而不是更新SDK

答案 3 :(得分:2)

我遇到了同样的问题,现在我将版本“更新”到6774480,使缓存失效并重新启动,然后我“降级”了家属compile 'com.google.android.gms:play-services:6+' 它的工作原理,我知道这不是一个真正的解决方案,但它是一个很好的方法,使它工作,所以我可以测试我的应用程序

答案 4 :(得分:2)

正如其他人所说,原因很可能是AVD中安装的Google Play与依赖性要求不符。除了其他人提出的解决方案外,我还试图将我所需的Google Play版本从8.3降低到8.1,问题就解决了。

答案 5 :(得分:0)

我只在API 22模拟器中遇到此问题。 21和23很好,我对物理设备没有任何问题。

我很想知道这个低版本是否对GCM至关重要,所以无论如何都要修改代码:

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);
}

有趣的是,API 22模拟器从GCM获得了一个令牌,并且没有任何问题地收到下游推送消息。

答案 6 :(得分:0)

这是我想出的解决方法,因为这里的解决方案都不适用于我。另外,我不想更新我的代码以使用旧版本的播放服务。我最终用google play而不是google apis安装模拟器,然后当提示出现时我只需点击更新。这将带你到谷歌游戏商店,你所要做的就是从那里更新游戏服务。这里唯一需要注意的是,此方法要求您使用Google帐户登录模拟器。但对我的用例来说已经足够了。 Google play instead of google api

答案 7 :(得分:0)

我的logcat是

Google Play服务已过期。需要12210000但找到11947270

所以我更改了build.gradle的代码

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

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

并且有效

答案 8 :(得分:-1)

工具&gt;中更新您的包裹Android&gt; SDK Manager ,然后检查其他中包含可用更新的所有包。

完成此操作后,在(app)build.gradle

中使用以下依赖项
Mage_Customer_Model_Customer::_beforeSave()