已部署的应用仅以灰色显示Google地图

时间:2017-07-17 09:43:41

标签: android google-maps google-play

我一直在编写一个应用程序,通过Google Maps V2 API在片段中显示一些折线。 在模拟器上和通过Android Studio进行调试时一切正常。现在我想通过Google Play商店进行Alpha测试,每个标志都有效,但地图显示为灰色。

据我所知,直到知道我可以使用我的API密钥,但我不知道它是什么,因为它在我的笔记本电脑上运行和调试时工作正常。你们有什么想法可能有什么不对或者可能是溶剂吗?

1 个答案:

答案 0 :(得分:4)

有两个证书,Debug和Release。您必须在生成发布版本时使用版本1

您可以参考此https://developers.google.com/maps/documentation/android-api/signup

自己获取证书信息

如果您在创建应用时没有按照入门指南进行操作,则需要自行获取证书的SHA-1指纹。首先确保您使用的是正确的证书。您可能有两个证书:

调试证书:Android SDK工具在您进行调试构建时会自动生成此证书。仅将此证书与您正在测试的应用程序一起使用。请勿尝试发布使用调试证书签名的应用程序。调试证书在Android Developer Documentation中的Signing in Debug Mode中有更详细的描述。

发布证书:Android SDK工具在您执行发布版本时会生成此证书。您还可以使用keytool程序生成此证书。当您准备将应用程序发布到全世界时,请使用此证书。

显示发布证书指纹

找到您的发布证书密钥库文件。发行密钥库没有默认位置或名称。如果您在构建应用程序以进行发布时未指定一个,则构建将使.apk保持未签名状态,并且您必须在发布之前对其进行签名。对于发行证书,您还需要证书的别名以及密钥库和证书的密码。您可以通过输入以下内容列出密钥库中所有密钥的别名:

      keytool -list -keystore your_keystore_name

将your_keystore_name替换为密钥库的完全限定路径和名称,包括.keystore扩展名。系统将提示您输入密钥库的密码。然后keytool显示密钥库中的所有别名。 在终端或命令提示符处输入以下内容:

      keytool -list -v -keystore your_keystore_name -alias your_alias_name

将your_keystore_name替换为密钥库的完全限定路径和名称,包括.keystore扩展名。将your_alias_name替换为您在创建证书时分配给该证书的别名。

您应该看到与此类似的输出:

    Alias name: <alias_name>
    Creation date: Feb 02, 2013
    Entry type: PrivateKeyEntry
    Certificate chain length: 1
    Certificate[1]:
    Owner: CN=Android Debug, O=Android, C=US
    Issuer: CN=Android Debug, O=Android, C=US
    Serial number: 4cc9b300
    Valid from: Mon Feb 02 08:01:04 UTC 2013 until: Mon Feb 02 18:05:04 PST 
    2033

    Certificate fingerprints:
    MD5:  AE:9F:95:D0:A6:86:89:BC:A8:70:BA:34:FF:6B:AC:F9
    SHA1: BB:0D:AC:74:D3:21:E1:43:67:71:9B:62:90:AF:A1:66:6E:44:5D:75
    Signature algorithm name: SHA1withRSA
    Version: 3

以SHA1开头的行包含证书的SHA-1指纹。指纹是由冒号分隔的20个两位十六进制数字的序列。