我的 android 应用程序中有一个谷歌地图,我从谷歌 api 控制台获得了我的应用程序中的 api 密钥,它成功地将地图加载到我的测试设备以及与我共享 apk 文件的那些设备上,但是在我发布之后Play商店中的应用程序,并且用户下载该应用程序,地图不会加载。这是应用程序在测试设备上正常运行时的外观。
这是下载应用程序后的样子
API 控制台
我错过了任何步骤吗?
我的 android 应用程序中有一个谷歌地图,我从谷歌 api 控制台获得了我的应用程序中的 api 密钥,它成功地将地图加载到我的测试设备以及与我共享 apk 文件的那些设备上,但是在我发布之后Play商店中的应用程序,并且用户下载该应用程序,地图不会加载。这是应用程序在测试设备上正常运行时的外观。
这是下载应用程序后的样子
API 控制台
我错过了任何步骤吗?
问题是你没有在你的 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 复制粘贴到您的设备。这将使它工作。
如果您尝试过其他建议,请注意您的项目中有 2 个 google_maps_api.xml 文件,分别位于src/debug和src/release/下。确保后者具有 Google Maps API 密钥,以便您签名的 APK 版本正常运行。
项目文件截图:
这里的新人可以使用以下内容:
keytool -list -printcert -jarfile app.apk
将新的 SHA1 添加到 api 控制台,地图应该开始显示地图和标记。