1

我的 android 应用程序中有一个谷歌地图,我从谷歌 api 控制台获得了我的应用程序中的 api 密钥,它成功地将地图加载到我的测试设备以及与我共享 apk 文件的那些设备上,但是在我发布之后Play商店中的应用程序,并且用户下载该应用程序,地图不会加载。这是应用程序在测试设备上正常运行时的外观。 在此处输入图像描述

这是下载应用程序后的样子 在此处输入图像描述

API 控制台

在此处输入图像描述

我错过了任何步骤吗?

在此处输入图像描述

4

3 回答 3

2

问题是你没有在你的 google api 控制台中添加你签名的 apk 的 SHA1 密钥。

做这个-

在为生产创建签名的 apk 时,复制签名版本的新 SHA1 密钥。

在签名过程中,控制台面板中将出现类似于以下概述的输出:

[2013-06-13 10:34:39 - ReleaseTest] New keystore C:\Users\nas\Documents\AndroidReleaseAPK\ReleaseTest.apk has been created.
[2013-06-13 10:34:39 - ReleaseTest] Certificate fingerprints:
[2013-06-13 10:34:39 - ReleaseTest]   MD5 : FA:65:D--------------
[2013-06-13 10:34:39 - ReleaseTest]   SHA1: D1:E-------------------

或者它也将出现在弹出窗口中,您将在签名之前最终命名您的构建。 在此处输入图像描述

使用此 SHA1 在 api 控制台创建新密钥并将其包含在您的应用程序中。地图将成功加载。

编辑:-完成上述步骤后,不要右键单击并再次从 Eclipse 运行项目,这将使应用程序从其默认的 sha1 键加载。签署应用程序后,手动将签署的 .apk 复制粘贴到您的设备。这将使它工作。

于 2015-03-02T12:56:47.390 回答
2

如果您尝试过其他建议,请注意您的项目中有 2 个 google_maps_api.xml 文件,分别位于src/debugsrc/release/下。确保后者具有 Google Maps API 密钥,以便您签名的 APK 版本正常运行。

项目文件截图:

项目文件截图

于 2016-07-11T14:01:30.960 回答
0

这里的新人可以使用以下内容:

keytool -list -printcert -jarfile app.apk

将新的 SHA1 添加到 api 控制台,地图应该开始显示地图和标记。

于 2015-09-09T03:31:52.650 回答