2017-08-29 170 views
0

我有一个应用程序的发布版本,该应用程序为其获取SHA1并将其放入我的API控制台,以便我可以使用Google地图。这在我在android studio中生成发布版本时工作得很好。上传到Play商店时Google Maps API密钥无法使用

但是,使用Google应用签名流程将其上传到Play商店时,签名证书会发生变化,这意味着我必须添加该SHA1才能与我的API密钥一起使用。我已经完成了这个工作,但是当我从Play商店下载时,地图没有加载。

这就是我所说的。不同的颜色匹配sha1指纹。

从API控制台: enter image description here

从Play开发者控制台我的应用程序: enter image description here

我必须做一些事情,除了额外的来自谷歌的签约过程中添加的SHA1使用与我的API密钥?包名称应该是相同的,对吗?

在此先感谢!

编辑:这个问题是谷歌的一端。他们说,包装/证书更改可能需要5分钟才能生效,但是这花了一个多小时。

回答

0

您很可能需要使用您生成签名APK的相同Keystore生成SHA-1密钥。

我喜欢做的是在我的应用程序build.gradle文件中设置签名配置。

android { 
    signingConfigs { 
     release { 
      storeFile file(RELEASE_STORE_FILE) 
      storePassword RELEASE_STORE_PASSWORD 
      keyAlias RELEASE_KEY_ALIAS 
      keyPassword RELEASE_KEY_PASSWORD 
     } 
    } 
} 

完成此操作后,您可以转到Gradle选项卡并运行签名报告。

Gradle Signing Report

最后,你可以查看位于你的Android工作室的右下角的摇篮控制台您发布变种SHA-1键。

然后,您可以使用此SHA-1键来限制您的Google Api密钥的发布。

+0

我有发布密钥,但是当我使用Google的应用签名流程上传到Play商店时,它使用不同的证书为我的apk签名。第二张图片显示了不同的证书。 “上传证书”是Android studio中的一种,但“应用签名证书”是Google用来签署我的应用的那个。 – swerly

+0

这个问题在谷歌的最后。他们说,包装/证书更改可能需要5分钟才能生效,但是这花了一个多小时。尽管谢谢你的帮助 – swerly