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

时间:2014-08-08 07:14:07

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

我对google-play-services SDK的更新有疑问。

我的应用程序构建和运行(就像之前一样) - 但在Android佩戴手表上,此消息在日志中:

  

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

因此该应用程序正在使用5.0.89进行编译,但该手表仅具有5.0.77版本。

手表和手机之间的通信现在失败了(之前已经有效)。

考虑到Android Studio无法提供返回早期版本的google-play-services的方式,我如何使应用程序向后兼容早期版本的google-play-services?

这些是磨损应用程序的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服务的手表保持兼容?

2 个答案:

答案 0 :(得分:5)

可穿戴方面的build.gradle需要更新才能使用play-services-wearable,而不仅仅是上面显示的play-services。

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

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

我已经提出要求尽快在官方文件中提到这一点。

答案 1 :(得分:3)

当您的手机具有旧的播放服务并且您正在使用新的播放服务库时,会发生这种情况。所以你需要通过手机更新你的google-play-service。

您可以使用

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

如果出现任何问题,这将显示弹出窗口。