Android:Google Map v2 Key:不适用于不同的系统

时间:2013-12-11 11:18:28

标签: android google-maps android-maps

我正在开发一个Map Android项目。我已生成一个Android Google Map V2 API密钥,我已按照此

https://developers.google.com/maps/documentation/android/start#get_an_android_certificate_and_the_google_maps_api_key

获取Android Map密钥。我已经提供了SHA-1指纹和我的应用程序包名称。通过这个我生成了一个Map Key。问题是这个关键仅适用于我的系统。它不会在另一个系统中运行它并说身份验证失败。

是否有任何选项可以生成通用Map键,以便它可以在所有环境中运行?

我们有10个人在该项目中工作,他们都拥有API密钥的方式与我得到的相同。所以现在我们有10个不同的API密钥 如果我计划在Play商店中启动应用程序,我应该使用哪个密钥?

请为我提供最好的方法。

4 个答案:

答案 0 :(得分:1)

Maps API密钥链接到特定的证书/包对,而不是链接到用户或应用程序。

由于您的SHA1密钥与系统的debug.keystore文件相关,并且它从系统更改为系统,您的Google地图密钥也与SHA1密钥和您的应用程序包名称相关。

因此,要在另一个系统中运行谷歌地图,您必须从系统中获取SHA1密钥,为地图生成另一个。

答案 1 :(得分:1)

如果生成调试api-key,则必须使用debug.keystore文件来获取sha1。然后你可以生成你的api-key,你可以在你自己的系统上使用它。对于其他系统,您的每个工作人员都必须使用自己的sha1指纹生成api-key。

当您决定将apk发布到Google Play时,此调试api-key将无效。您应首先签署您的apk并创建yourapp.keystore文件。然后,您可以找到此私有密钥库文件的sha1。在该操作之后,该api-key将不能在调试模式下工作。但您可以将编辑后签名的apk文件复制到设备中。从apk文件下载应用程序后,您将看到您的api-key正常工作。但是在调试模式下释放api-key是没用的。

最后,您应该在调试模式下为每个系统生成不同的api密钥。

答案 2 :(得分:1)

实际上这是因为SHA-1键而发生的,它与在android文件夹中找到的 debug.keystore 文件有关。有两个选项,要么使用SHA-1从该系统创建不同的映射键,要么替换manifest.xml文件中的Map键,或者只需从系统中复制 debug.keystore 文件并将其替换为那个系统。

答案 3 :(得分:0)

这与SHA-1密钥有关。你可以只从你的系统构建apk文件。但你可以在任何系统上运行apk文件。并且你也可以在谷歌控制台中添加多个SHA-1密钥。你可以做的更多事情是从eclipse创建一个密钥库并为这个谷歌控制台添加sha-1。现在用这个签名apk。你准备好了。