谷歌游戏服务版本5.2.08对我的设备来说太新了。

19

我使用这种方法来检查play服务的可用性:

private boolean checkPlayServices() {
    int status = GooglePlayServicesUtil.isGooglePlayServicesAvailable(this);
    if (status != ConnectionResult.SUCCESS) {
        if (GooglePlayServicesUtil.isUserRecoverableError(status)) {
            showErrorDialog(status);
        } else {
            Toast.makeText(this, "This device is not supported.", Toast.LENGTH_LONG).show();
            finish();
        }
        return false;
    }
    return true;
}

status现在设置为2,这意味着当我运行应用程序时,已安装的Play服务需要更新,尽管Play商店没有Play服务的更新。

isUserRecoverableError调用的对话框显示:

更新Google Play服务-除非您更新Google Play服务,否则此应用程序将无法运行

这是在我通过SDK Manager更新“Google Repository”(而不是“Google Play Services”)之后发生的,尽管我记得那个昨天已经更新了,但没有任何问题。

Android Studio告诉我,Play服务版本为5.2.08。

我该怎么办?例如,我可以在依赖项部分中强制使用较低版本吗?

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

尽管这与模拟器有关而不是真实设备,但检查此链接可能是值得的 https://code.google.com/p/android/issues/detail?id=57880 - Tristan Burnside
看起来我的问题和这个一模一样,但我找不到任何解决方法。 - user3921265
我正在使用HTC One M8手机,它给了我这个问题。当我点击更新按钮时,它会打开Play商店中的Google Play服务应用程序。然而,没有更新按钮。 - Gerard
2个回答

24

最初发布在问题中


我在app/build.gradle文件中指定了我记得看到的以前版本,现在我的应用程序可以正常运行:

compile 'com.google.android.gms:play-services:5.0.89' 

你能告诉我在哪里找到Play服务的版本号吗? - grandouassou
1
要查找版本号,请查看Android SDK的本地Maven存储库文件夹。例如:android-sdk/extras/google/m2repository/com/google/android/gms/play-services - richardleggett
1
好的,假设你必须使用较低版本编译应用程序以匹配设备上的版本,为什么会这样呢?由于某种原因,我无法将我的Galaxy S4更新到比5.0.89更高的版本,这很奇怪。 - Daniel Wilson
1
这对我有效。 @DanielWilson的问题在于SDK中的版本比Google发送到设备上的版本更新。我猜过几天/几周,当谷歌升级Google Play服务时,这个问题将得到解决。 - Aracem
对我没用,仍然出现“Google Play服务已过期。需要5208000但找到5089038”,尽管指定了5.0.89。有什么建议吗? - user2410644
我认为Play Services库5.2.08目前仅适用于运行Android L预览版的设备。 - dst

0

因为我的设备无法更新 Google Play 服务,所以我也不得不使用 5.0.89 来修复构建问题。


网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接