Android &引用;Google Play服务正在更新;在谷歌地图API中

Android &引用;Google Play服务正在更新;在谷歌地图API中,android,google-maps,google-maps-api-2,Android,Google Maps,Google Maps Api 2,我有一个使用谷歌地图的Android应用程序。突然,它在释放模式下停止工作。地图视图显示Google Play服务正在模拟器和真实设备上更新。在网上搜索每个人都在谈论API密钥文件,但这不是我的问题 我尝试了各种可能的不同版本设置组合,发现在构建配置中设置debuggable=false时出现问题(使用debuggable=true)。我不明白为什么地图不起作用,因为,当然,APK是不可调试的。我也尝试过多个版本的Google Play服务,甚至是最新的(10.2.0)。没有区别 我能做什么?请

我有一个使用谷歌地图的Android应用程序。突然,它在释放模式下停止工作。地图视图显示Google Play服务正在模拟器和真实设备上更新。在网上搜索每个人都在谈论API密钥文件,但这不是我的问题

我尝试了各种可能的不同版本设置组合,发现在构建配置中设置
debuggable=false
时出现问题(使用
debuggable=true
)。我不明白为什么地图不起作用,因为,当然,APK是不可调试的。我也尝试过多个版本的Google Play服务,甚至是最新的(
10.2.0
)。没有区别

我能做什么?请提供帮助,因为在修复此错误之前,我无法在Play Store上发布任何新版本

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

这表明API访问仅限于调试模式。考虑到调试和发布没有单独的API密钥,您的密钥似乎已绑定到调试证书

要在上引用“有关API密钥限制的更多信息”,请执行以下操作:

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

如果您有这样的限制,发布证书的不同指纹将破坏您的API访问


请查看上面链接的文档中的“自己获取证书信息”部分,以获取正确的(发布)证书指纹。尝试从gradle更新您的google play服务,然后检查它。也许对你有帮助。还有一件事,请使用最新的gradle版本,目标也请设置为大于或17

有相同的“错误”,可通过以下步骤解决:

我知道当你经常收到一条信息说 “谷歌播放服务已停止”。要解决这个问题,我建议 清除Google Play服务的缓存(转到设置>应用或 应用程序管理器>谷歌播放服务>清除缓存>确定)和 谷歌游戏商店。清除缓存后,重新启动设备以 检查它是否工作


我也有同样的问题,我设法解决了。 当minifyEnabled选项设置为true时(如果设置为false,则不会发生问题)

简而言之,我所做的是添加一行:

-keep class com.google.** {*; }
进入proguard规则文件(proguard rules.pro),以避免混淆google play服务依赖项。 至少在我的例子中,如果添加此规则,那么生成的APK似乎不会太大


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

不幸的是,最新的Google Play服务存在缺陷,嵌入式地图在全球几乎所有华为/魅族手机上都停止工作。 没有办法修复它清除缓存,因为在下次重新启动时,12.6.73 Google Play服务将自动再次更新,并且在几个小时内将再次停止工作。唯一的办法就是等待谷歌的热修复程序,它应该会很快发布

这是关于此问题的google官方缺陷跟踪记录:


谷歌地图的api键是否启用了Android api?当然可以@ShakSmith@GuidoLodetti你在用proguard吗?@Fondesa是的。我不知道最小化是否与Proguard相关,但如果我将Gradle中的“最小化”设置为true,将“可调试”设置为true,那么一切都会很好地工作。如果我将debugable设置为false,它将停止工作。在最近的一次测试中,出现了具有相同错误消息的问题。链接,因为这是谷歌目前最热门的搜索结果。SHA-1是正确的。如果我将debugable设置为true,并使用生产证书对其进行签名,则一切正常。如果我切换到false,一切都会中断。您使用生产认证进行调试模式吗?那么你用什么来进行实际的生产构建呢?在发布这个问题之前,我试着分析什么会导致问题,因为调试一切正常,而当我发布到Google Play上时,它就不工作了。结果表明,导致错误的唯一因素是“可调试”到“错误”。如果我尝试单独使用生产证书,就不会出现问题。不要这样做,因为这样会使每个类都不受google软件包的影响。您的apk将受到欢迎,因为这些类不会得到优化。您需要包括google为其库指定的一组proguard规则。