将应用上传到 Playstore 后谷歌地图不显示
Posted
技术标签:
【中文标题】将应用上传到 Playstore 后谷歌地图不显示【英文标题】:Google maps not showing after uploading the app to playstore 【发布时间】:2018-02-21 18:48:00 【问题描述】:将应用上传到 Playstore 后,Google 地图显示空白屏幕。但是地图在本地运行时显示(在模拟器中)。 我尝试通过 Playstore 应用签名证书 SHA 指纹更改 google map api 的 SHA1,但仍然显示空白屏幕。
【问题讨论】:
确保您拥有正确的 API 密钥。 :) @AkhilNair API 密钥正确。 您是否使用您的发布密钥生成了 sha 密钥? 在使用谷歌地图时不要相信模拟器。尝试一个真实的设备并检查它是否工作。检查绑定是否正确。一步一步调试是否可以加载布局内容。 @BhuvaneshBs 我该怎么做? 【参考方案1】:请先在真机上运行应用,如果能正常运行,请按以下步骤操作。
如果您在开发者控制台中启用了应用签名功能, 然后在上传的文档中清楚地写着 只有 Google 需要证书来进行身份验证,并且 上传证书在安装应用程序之前被删除 用户的电话。因此,您还需要提供应用签名证书 SHA 在您为 Google Maps API 启用的密钥下。应用程序 签名页面就像我附上你的截图一样 方便......在图片中我已经标记了你需要给出的 其他凭据
【讨论】:
我将 SHA1 证书指纹复制到 Google map api 密钥,仍然无法正常工作 你在真机上运行过应用吗?是显示地图吗? 当我从 playstore 下载地图时它没有显示地图,但是当我从 android studio 运行时地图显示 @Bhuvanesh Bs 找到释放 sha 密钥并将其复制到谷歌地图 api 控制台中,仍然无法正常工作。 感谢 Zafar,它运行良好。让我澄清一下..当你在谷歌开发控制台中为地图创建一个 api 密钥时,你添加包名并发布 sha 1,添加后你只需要从应用程序签名密钥中添加包名和 SHA-1来自 Google Play 控制台发布管理中的应用签名部分。【参考方案2】:你可以很容易地获得一个 SHA1 密钥来释放。
在您的 Gradle 中输入您的发布密钥详细信息,如下所示。
signingConfigs
release
storeFile file("F:/Development/release_myapp.keystore")
storePassword "231232das"
keyAlias "myapp_rel"
keyPassword "dasd333_das"
然后在 Gradle 任务中运行 signingReport:
您将在运行窗口中获得发布 SHA。
如果您选择了 Google Play 应用签名功能,您必须为您的控制台使用另一个由 google 生成的 SHA 密钥。按照 Zoffa 的答案来了解。
更多信息来源:http://devdeeds.com/create-sha1-key-using-android-studio/
【讨论】:
调试和发布的 SHA1 不同吗? 是的,您必须使用 2 个 sha 密钥。一个用于调试,一个用于发布 这是默认设置,但没有什么能阻止您使用发布密钥对调试版本进行签名。我这样做是为了避免必须处理每个设备独有的调试证书。 @Bhuvanesh Bs 我应该将发布 sha 密钥复制到 google map api 吗?【参考方案3】:感谢大家的回答。
应用中有两个 google_maps_api.xml 文件,一个用于调试,另一个用于发布。
发布:app\src\release\res\values\google_maps_api.xml
调试:app\src\debug\res\values\google_maps_api.xml
在我的情况下,发布 google_maps_api.xml 中的 api 键是空白的
【讨论】:
我想拥抱你。已经为此苦苦挣扎了好几个小时。【参考方案4】:据我所知,调试密钥和释放密钥的 SHA1 密钥是不同的。但是在Play商店上传后它将无法正常工作。要查看地图,您应该按照以下步骤操作。 - 去https://play.google.com/apps/publish/signup 在那个发布选项中。从应用签名证书复制 SHA1 密钥 - 在编辑为您的应用程序生成的 API 密钥时粘贴它。 注意:您的 API 应该同时出现在调试和发布 xml 文件中。
【讨论】:
以上是关于将应用上传到 Playstore 后谷歌地图不显示的主要内容,如果未能解决你的问题,请参考以下文章