【发布时间】:2017-09-19 00:50:45
【问题描述】:
我知道这听起来像是一个重复的问题,但我现在正在寻找两天,但我一无所获。 我正在使用 Google maps android api v2,它在调试模式下运行良好。但是当我用释放密钥签名时,地图根本不会加载。 我所做的是:
1 - 我在 google 开发者控制台中创建了一个新项目
2 - 我启用了谷歌地图 api
3 - 我使用“凭据”菜单创建了一个新的 api 密钥
4 - 我使用我的 SIGNING KEY 的 SHA-1 指纹和包名称对其进行了限制(是的,我很确定它们是正确的)
5 - 我将它给我的密钥添加到我的清单文件中:
<meta-data
android:name="com.google.android.geo.API_KEY"
android:value="blablabla"/>
但它仍然只能在调试模式下工作(我添加调试 SHA-1 指纹的方式与我使用发布密钥的方式完全相同),而不是使用我的发布 apks
我什么都试过了:
重新生成密钥
正如一些人建议的那样,清单文件可以放在
src/debug中,我应该把密钥放在src/release中。但是由于我使用的是最新版本的android studio,所以src中没有release或debug文件夹- 我尝试在 Google 的开发者控制台中创建一个全新的项目,但没有成功
我真的不知道还能做什么。
有人给点建议吗?
ps:我没有收到任何关于密钥不正确或其他问题的错误;地图不仅会加载。即使是小谷歌标志也不会出现在地图底部
【问题讨论】:
-
调试和发布是否使用相同的 API 密钥?还是您使用两个 API 密钥,一个用于调试,一个用于发布?
-
我尝试了这两种方法,但都没有奏效。我的意思是,一旦我创建了一个 api 密钥,只添加了我的发布密钥签名,它就不起作用了。我还创建了另一个密钥并添加了发布和调试签名,但它仍然只能在调试模式下工作
-
您是否将 API 密钥放入
google_maps_api.xml文件中?还是直接放在manifest里面? -
我将它直接放在清单中,因为我以空白活动开始我的项目,没有创建
google_maps_api.xml文件 -
您是如何获得您的发布密钥的 SHA1 指纹的?
标签: android google-maps