GooglePlayServicesUtil: GooglePlay服务过期.要求5089000,但找到5077534



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

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

GooglePlayServicesUtil: GooglePlay服务过期。要求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版本,它会在构建中抱怨:

错误:Failed to find: com.google.android.gms:play-services:5.0.77

我怎么能保持兼容手表与早期版本的谷歌播放服务?

构建。Gradle在可穿戴端需要更新为使用play-services-wearable,而不是像你上面展示的那样只使用play-services。

如果你看一下Wear SDK中提供的DataLayer这样的例子,它在wearable/build.gradle中使用了这样的东西:

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

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

当你的手机有旧的play-service而你正在使用新的play-service lib时,就会发生这种情况。所以你只需要从你的手机上更新你的google-play-service。

可以使用

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

这个将显示弹出,在任何问题,以获得播放服务。

最新更新