1

我创建了一个小应用程序,我在其中使用了Google Maps API v2.

对于测试和调试,我使用了生成的名为 debug.keystore 的默认调试密钥库。

我生成了必须为使用地图和生成的 api 密钥提供并在我的应用程序中使用的 SHA 密钥。我在 Eclipse 中使用 EXPORT 向导对应用程序进行了签名,并正在为我的应用程序创建新的密钥库并生成应用程序 apk。

但是现在当我尝试在设备上运行此应用程序时,不会显示 MAP。

因为我怀疑这是由于我的应用程序有新的密钥库,并且我已将我的调试密钥库 SHA 密钥注册到谷歌控制台。

我在这里做错了什么,我该如何解决?

4

1 回答 1

4

在使用与调试应用程序不同的应用程序签名时keystore,您应该使用从当前生成的应用程序创建另一个API_KEY应用SHA1程序keystore并将其注册Google API Console并使用该密钥用于Google Maps. 您的地图不会显示,因为API_KEY是由当前密钥库和您的包名称生成的。更改密钥库文件将导致您MapView的显示为空白,因为SHA1不同。

因此,作为最终答案,您应该重复所有步骤以生成API_KEYforGoogle Maps和 new SHA1

编辑:您可以使用两个选项SHA1keystore文件创建。

  1. keytool -list -v -keystore <path_to_your_keystore>会给你SHA1
  2. Eclipse如果您尝试使用您的密钥库对您的应用程序进行签名,则在最后保存文件之前,.apk它将向您显示SHA1MD5从您的密钥库生成。我认为这是您第二次尝试签署 apk。
于 2013-12-18T13:56:34.230 回答