【问题标题】:How to know the minimum Google Play Service version needed如何知道所需的最低 Google Play 服务版本
【发布时间】:2018-02-07 09:37:51
【问题描述】:

如果我运行需要 Google Play 服务的应用(例如,使用 Mobile Vision API / Firebase 等的应用),

我如何知道设备上运行应用所需的最低 Google Play 服务版本?

Google 官网只推荐设备更新 Google Play 服务(实际上这是在安装了 Google Play 的设备上自动完成的)

为什么我需要知道

这是因为我想在完全离线的设备上使用该应用,该设备不会安装最新的 Google Play 服务。

我的猜测

提示是播放服务库的版本号与设备上安装的 Google Play 服务版本号非常相似。
截至今天,最新的库版本是 11.8.0;而手机上安装的最新版本是 11.9.75。
不一样,但我认为设备领先于库版本是有道理的。

那么有没有可能要求的最低版本实际上等于编译库的版本号?

(如果您需要我指定特定库 - Mobile Vision API 是我需要知道的。)

【问题讨论】:

  • 这将取决于您使用的 google play services API,记下您从文档中使用的所有 API,以及添加 API 时的版本,最低是您需要的
  • 恐怕这不是真的。我刚刚尝试在具有 Play Services v10.x 的设备上安装该应用程序,但它无法运行(需要更新)。但是根据发行说明,API 是在 v9.2 中发布的。
  • 抱歉,最大是你需要的,而不是最小
  • 所以如果设备有v10.1,就不能使用v10.2发布的API,需要更新据我所知.
  • 我很幸运找到了一个出厂版本为11.0.55的设备,然后我尝试编译了一个11.0.2的sdk,它可以运行,但是有错误日志;然后如果我将其更改为 11.2.0,它会提示我更新 SDK。看来我的猜测是正确的,也和你说的相符。

标签: android google-play-services


【解决方案1】:

你可以使用sGooglePlayServicesAvailable:

GoogleApiAvailability.getInstance().isGooglePlayServicesAvailable(context)

验证此设备上是否安装并启用了 Google Play 服务,并且此设备上安装的版本不低于此客户端所需的版本。

返回:
指示是否有错误的状态码。可以是ConnectionResult中的以下之一:SUCCESSSERVICE_MISSINGSERVICE_UPDATINGSERVICE_VERSION_UPDATE_REQUIREDSERVICE_DISABLEDSERVICE_INVALID

【讨论】:

  • 感谢您的回答。但这其实是不相关的,我已经知道如何检查runtime;但在检查之前我需要知道最低版本(以便我知道什么设备可以运行该应用程序)。
【解决方案2】:

虽然我不是 100% 确定(所以我不会接受我自己的这个答案),

看起来所需的最低版本确实是您使用应用程序编译的库版本(即在 build.gradle 中指定)。

【讨论】:

  • 您是否确认了这一点,因为我面临着类似的问题
  • @shadygoneinsane 无法确认 100%,但我想可以确定 ~80%...
  • 请看看这个question,如果有的话,分享你的见解:)
猜你喜欢
  • 2014-08-27
  • 2019-10-21
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 2019-05-16
  • 1970-01-01
  • 2013-09-15
  • 2018-06-14
相关资源
最近更新 更多