gpt4 book ai didi

android - 设备是否保留超过 1 个版本的 Google Play 服务?

转载 作者:太空狗 更新时间:2023-10-29 14:51:37 28 4
gpt4 key购买 nike

几个月前,我将我的一个应用程序更新到了 Google Play 服务的 8.3.0 版,该版本破坏了某些与位置相关的 API 的向后兼容性。

所以我的问题是,如果我的设备已经安装了 Google Play 服务 8.3.0,即使我正在使用版本 6.5.87 运行我的应用程序,它怎么可能还在工作? (鉴于 6.5.87 上的 API 在 8.3.0 上不再可用)设备是否保留旧版本的 Google Play 服务以支持向后兼容?或者被删除的 API 是否以某种方式在已安装的 Google Play 服务版本中可用并隐藏在与开发人员共享的库中?

我在这里想了解的是,在我的应用程序上更新 Google Play 服务是否真的为应用程序带来了后台改进(例如使用库中的最新算法),或者这些改进是否在设备发布后就已经可用安装新的 Google Play 服务版本。

编辑:

在更详细地研究了这个之后,我发现实际上没有 API 被破坏,但是一些接口(interface)被转换为抽象类(参见 https://developers.google.com/android/guides/releases#september_2015_-_v81),这就是导致我当时遇到的编译问题的原因。

我遇到的问题是因为 8.1 版的 Google Play 服务不再与旧版本兼容(由于上述更改),所以我使用的所有库都必须使用 8.1+ 构建,如果其中之一是用旧版本构建的,然后编译失败并出现此错误:

java.lang.IncompatibleClassChangeError: 方法 'boolean com.google.android.gms.common.api.GoogleApiClient.isConnected()' 应该是接口(interface)类型,但被发现是虚拟类型('java.lang.reflect.ArtMethod' 的声明出现在/system/framework/core-libart.jar 中)

编辑 2:

虽然我遇到的问题不是关于已删除的 API,但我发现了一个在 Google Play 服务版本 7 中被删除的 API 示例:GooglePlayServicesClient(请参阅 Cannot resolve symbol 'GooglePlayServicesClient')。

最佳答案

Google Play Services 8.3 的发行说明中我没有看到任何关于 API 调用不再可用的注释。我的猜测是这些调用只是被弃用而不是被删除。

关于android - 设备是否保留超过 1 个版本的 Google Play 服务?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/34718662/

28 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com