使用旧版本的 Google Play Services 进行编译是否安全?

Is it safe to compile with an older version of Google Play Services?

我喜欢尽可能与库保持同步,但在我一年前开始的一个项目中,我使用 Eclipse 并使用 Google Froyo 的 Play 服务。我最近开始使用 Android Studio,当然现在有很多损坏的代码,因为我最初使用的是最新版本的 Google Play Services。

为了修复它,我基本上导入了旧的 Google Play Service for Froyo Eclipse 项目,并将其作为我引用的 Android Studio 中的一个模块。我不一定需要图书馆的新功能,它正在运行。这是我的问题:这样做安全吗?我不希望它在较新的设备上影响我。

所有更新版本的 Google Play 服务(应用程序)都向后兼容所有以前版本的 SDK,这意味着使用旧版 SDK 编译的代码将继续工作,即使 Google Play服务在每台设备上更新。

请注意,'Google Play Services for Froyo' 实际上只是支持 Froyo 的 Google Play 服务的最后一个版本 - 3.2.65Google Play services 4.0 放弃了对 Froyo 的支持) .如果您正在使用 Gradle,您仍然可以在 build.gradle 文件中引用它,而无需将其作为模块导入:

dependencies {
  compile 'com.google.android.gms:play-services:3.2.65'

}

您可以通过 Gradle 查看 Google Play 服务版本的完整列表,方法是查看 {android-sdk}/extras/google/m2repository/com/google/android/gms/play-services 目录,该目录目前列出了以下版本:3.1.36 , 3.1.59, 3.2.25, 3.2.65, 4.0.30, 4.1.32, 4.2.42, 4.3.23, 4.4.52, 5.0.896.1.116.1.716.5.877.0.0.

您应该强烈 考虑逐个解决每个版本出现的问题,因为每个版本都有大量修复。特别是,Google Play services 6.5 offers the ability to selectively include APIs 因此您的应用程序仅包含您实际使用的 API。