Google地图API中的“Google Play服务正在更新”

我有一个使用Google地图的Android应用程序。 突然间,它在释放模式下停止工作。 地图视图告诉Google Play服务正在模拟器和真实设备上更新 。 在网上search大家都在谈论API密钥文件,但是这不是我的问题!

我已经尝试了所有可能的不同的发行版设置组合,并且我已经发现 ,当我在构buildconfiguration中设置debuggable = false (使用debuggable = true ,会出现问题)。 我不明白为什么地图不工作,因为当然,APK是不可debugging的。 我也尝试了多种版本的Google Play服务,甚至是最新的( 10.2.0 )。 没有不同。

我能做什么? 请帮助,因为我不能在Play Store发布任何新版本,直到我修复此错误。

在这里输入图像说明

Solutions Collecting From Web of "Google地图API中的“Google Play服务正在更新”"

“如果我把debuggable设置为false,它将停止工作”

这表明您的API访问被限制为debugging模式。 考虑到没有用于debugging和发布的单独的API密钥,它会出现你的密钥已经绑定到你的debugging证书。

在文档中引用“关于API密钥限制的更多信息”:

您可以select添加限制。 对于Android应用程序,您将密钥限制为应用程序的SHA-1指纹

如果你有这样的限制,释放证书的不同指纹会破坏你的API访问。

查看上面链接的文档中的“自己获取证书信息”部分,以获取正确的(发布)证书指纹

我有同样的问题,我设法修复它。 minifyEnabled选项设置为true时发生问题(如果错误,则不会发生问题)。

总之,我所做的是添加一行:

 -keep class com.google.** {*; } 

进入proguard规则文件(proguard-rules.pro),以避免谷歌播放服务依赖被混淆。 至less在我的情况下,如果添加了这个规则,所得到的APK看起来不会大得多。

我认为当从另一个模块(例如在共享库)中使用地图组件时会发生问题,但是我没有检查它。

有同样的问题。 尝试从gradle更新您的谷歌播放服务,然后检查它。 可能会帮助你。 还有一件事,请使用最新的gradle版本和目标请设置为17或更多。

有相同的“错误”,可以通过使用这些步骤来解决:

https://productforums.google.com/forum/#!topic/play/ey7qIRBYj-o

当您不断收到“Google Play服务已停止”的消息时,我知道您的感受如何。 要解决这个问题,我build议为Google Play服务(转到设置>应用程序或应用程序pipe理器> Google Play服务>清除caching>确定)和Google Play商店清除caching。 一旦你清除caching,重新启动你的设备来检查它是否工作。