无法将旧 Google Play 服务库更新为较新版本

Posted

技术标签:

【中文标题】无法将旧 Google Play 服务库更新为较新版本【英文标题】:Cant update old Google Play Services lib for a newer version 【发布时间】:2018-05-08 16:20:24 【问题描述】:

我有一个使用 Eclipse 和 Google Play Services Lib 版本 4323000 开发的旧应用程序。 proyect 包含 google-play-services_lib 和 app proyect 本身(在 libs 文件夹中的 app proyect 内也有 google-play-services_lib.jar 文件)

好的,我从这里https://dl-ssl.google.com/android/repository/google_play_services_8115000_r27.zip 下载了这个版本来试用更新。我删除了旧的 google-play-services_lib 文件夹并将其替换为新文件夹。

起初我发现我有一个不匹配的原因,因为 libs 应用程序文件夹中的 jar 与 google-play_services_lib 文件夹中的不同,所以我用更新的 jar 替换它,但出现错误。

Android 清单有

<meta-data
        android:name="com.google.android.gms.version"
        android:value="@integer/google_play_services_version" />

即使我编译应用程序并对其进行测试,应用程序也会立即启动和关闭。

什么可能导致错误?我们将不胜感激!

谢谢!

【问题讨论】:

你是否已经在 gradle 中更改了那个版本? 我使用的是 Eclipse 而不是 Android Studio。 【参考方案1】:

...\google_play_services_8115000_r27.zip\google-play-services\libproject\google-play-services_lib\res\values\version.xml,我找到了google_play_services_version 整数资源。

<?xml version="1.0" encoding="UTF-8"?>
<resources>
    <integer name="google_play_services_version">8115000</integer>
</resources>

这也与您拥有的 zip 文件的文件名相同。

所以,你终于可以像这样替换值了:

<meta-data
    android:name="com.google.android.gms.version"
    android:value="8115000" />

【讨论】:

具体在哪一部分?

以上是关于无法将旧 Google Play 服务库更新为较新版本的主要内容,如果未能解决你的问题,请参考以下文章

Google Play 服务库更新和缺少符号 @integer/google_play_services_version

Proguard 因 Google Play 服务库而失败

无法使用 Google Play 应用签名上传证书更新发布 APK(使用原始密钥库)

无法在 Google Play 中更新应用(apk 在调试模式下签名)。可能是密钥库问题

更新到 Google Play 服务 11.8.0 后 Proguard 无法正常工作

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