【问题标题】:GooglePlayServicesUtil: Google Play services out of date. Requires 5089000 but found 5077534GooglePlayServicesUtil:Google Play 服务已过期。需要 5089000 但找到 5077534
【发布时间】:2014-08-08 07:14:06
【问题描述】:

我在更新 google-play-services SDK 时遇到问题。

我的应用程序构建并运行(和以前一样) - 但在 Android Wear 手表上,此消息在日志中:

GooglePlayServicesUtil:Google Play 服务已过期。需要 5089000 但找到 5077534

所以应用程序是用 5.0.89 编译的,但手表只有 5.0.77 版本。

手表和手机之间的通信现在失败了(以前可以正常工作)。

鉴于 Android Studio 不提供返回到早期版本的 google-play-services 的方法,我如何使应用向后兼容早期版本的 google-play-services?

这些是 Wear 应用的 gradle 设置

dependencies {
   compile 'com.google.android.gms:play-services:5.0.+@aar'
   compile "com.android.support:support-v13:20.0.+"
   compile "com.google.android.support:wearable:1.0.+"
}

如果我尝试强制 Android Studio 使用 5.0.77 版,它会在构建中抱怨:

错误:找不到:com.google.android.gms:play-services:5.0.77

我如何才能与具有早期版本的 Google Play 服务的手表保持兼容?

【问题讨论】:

  • 您是否尝试将其强制为最新的 4.x 版本('com.google.android.gms:play-services:4.+')?这对我有用,但可能会缺少 Android Wear 的功能。还要注意在依赖项中包含 Google Play 的应用模块的所有 Gradle 文件中更改此设置。

标签: android google-play-services wear-os


【解决方案1】:

可穿戴设备端的 build.gradle 需要更新以使用 play-services-wearable 而不是像上面显示的那样仅使用 play-services。

因此,如果您查看 Wear SDK 中提供的 DataLayer 等示例之一,它会在 wearable/build.gradle 中使用类似的东西:

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

我已请求尽快在官方文档中提及这一点。

【讨论】:

  • 如果我在 Eclipse 中遇到同样的问题怎么办?我该如何解决呢?
  • @Warlax:您之前通过 Eclipse 做了什么来让游戏服务在可穿戴设备上工作?
【解决方案2】:

当您的手机有旧的播放服务并且您使用新的播放服务库时,会发生这种情况。因此,您只需通过手机更新您的 google-play-service。

你可以使用

int googleServiceStatus = GooglePlayServicesUtil.isGooglePlayServicesAvailable(this);
    Dialog dialog = GoogleApiAvailability.getInstance().getErrorDialog(this,googleServiceStatus, 10);
    if(dialog!=null){
        dialog.show();
    }

如果获取播放服务有任何问题,这将显示弹出窗口。

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2017-07-12
    • 2014-03-16
    • 2013-07-25
    • 2013-02-15
    • 2019-09-23
    • 2015-08-26
    相关资源
    最近更新 更多