1

我正在尝试实现我的应用程序,按照https://developers.google.com/android/guides/setup的说明,在我的 build.gradle 文件中将 Google Play 服务设置为 9.8.0。如How to update Google Play Services to 9.8.7 中所述,为了在模拟器上进行测试,我应该降级该服务。但是,它也表明它应该在物理设备上工作。

  • 我正在使用安装了 Google Play Services 9.3.84、Android 7.1 的新 Google Pixel 手机。
  • build.gradle 文件包括:compile 'com.google.android.gms:play-services:9.8.0'
  • 一旦运行 adb 调试器显示

I/FirebaseInitProvider:FirebaseApp 初始化不成功

W/GooglePlayServicesUtil:Google Play 服务已过期。需要 9877000 但找到 9384448

E/MainActivity:与 Google API 客户端的连接失败

我已经在 SDK 管理器/工具(版本 37)中更新了 Google Play 服务,但我的想法已经不多了。我不确定如何降级 Pixel 上的 Google Play 服务。我错过了什么(可能很明显?)

EDTI:查看答案,我在手机上缺少正确版本的 Google Play 服务。该解决方案实施检查以防止将来出现错误。

4

1 回答 1

2

您应该添加一些代码来检查是否需要更新。像下面这样。

GoogleApiAvailability googleApiAvailability = GoogleApiAvailability.getInstance();
    googlePlayServicesAvailable = googleApiAvailability.isGooglePlayServicesAvailable((Variables.context));
        if ((googlePlayServicesAvailable == ConnectionResult.SERVICE_MISSING) || (googlePlayServicesAvailable == ConnectionResult.SERVICE_VERSION_UPDATE_REQUIRED) || (googlePlayServicesAvailable == ConnectionResult.SERVICE_DISABLED)) {
                            activity.this.startActivity(new Intent(Intent.ACTION_VIEW, Uri.parse("market://details?id=" + context.getPackageName())));
                            googleApiAvailability.getErrorDialog(((Activity) Variables.context), googlePlayServicesAvailable, 0);
        }

您应该将我的代码修改为:

  1. 询问用户是否要升级
  2. 如果 play store 没有安装ActivityNotFoundException
于 2016-10-26T14:02:17.040 回答