3

我试图让我的谷歌地图显示在我的应用程序上,但它不工作并且出现了这个错误:

01-25 11:38:54.763: E/Google Maps Android API(30514): Authorization failure.

我目前正在使用发布证书中的 SHA1 证书指纹,该证书用于在 appstore 上发布我的应用程序。

编辑:我还在 API 控制台上打开了 Google Map Android API v2。

我从这里的评论中读到“签名算法必须是 SHA1withRSA 而不是 SHA256withRSA”。但是,我从 Eclipse 创建了发布证书,它是 SHA256withRSA,我没有对其进行任何设置。我好像也改不了。

如果签名算法导致问题,有人可以启发我吗?如果是这样,我应该如何更改 eclipse 上的签名算法?

4

3 回答 3

4

想通了我的问题。

我一直在从我的发布证书生成密钥,当我在手机上运行应用程序时,它在调试期间将不起作用。我必须改用调试密钥库证书指纹。

请记住保留2把钥匙:

  1. 当您在手机上运行它时,从您的调试密钥库中调试 API 密钥。

  2. 发布要在部署到 Google Play 商店之前签署应用程序时使用的证书 API 密钥。

于 2013-01-25T05:29:55.833 回答
0

请检查您是否已Google Maps Android API v2在您的 google api 控制台中启用。

在此处输入图像描述

于 2013-01-25T04:23:31.867 回答
0

使用适当的 SHA 检查您的 API 密钥是否存在,如果不使用适当的 SHA 重新生成它。如果您不知道如何生成它,请在下面尝试:

JAVA_HOME\bin > keytool -list -v -alias androiddebugkey -keystore "~\.android\debug.keystore" -storepass password(your_own) -keypass "password(your_own)"

检查清单文件,如果你写了两个这样的元标记

<!--<meta-data-->
<!--android:name="com.google.android.maps.v2.API_KEY"-->
<!--android:value="AIzaSyBHghWPWutTiOxCJKll2WoCuVOQ5YotLiY" />-->

<meta-data
    android:name="com.google.android.geo.API_KEY"
    android:value="@string/google_maps_key"/>

评论其中任何一个,对于我使用的项目geo.API_Key,它将同时处理 GEO 和谷歌地图。

更重要的是,将google-services.json文件导入您的应用文件夹。

于 2016-08-09T09:33:49.523 回答