Google Map Android API v2:授权失败

时间:2013-01-25 03:52:45

标签: android google-api android-maps-v2

我正在尝试将我的Google地图显示在我的应用上,但它无效并且出现此错误:

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

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

修改:我还在API控制台上启用了Google Map Android API v2。

我从here的评论中读到“签名算法必须是SHA1withRSA而不是SHA256withRSA”。但是,我从Eclipse创建了发布证书,它是SHA256withRSA,我没有对它进行任何设置。我似乎无法改变它。

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

3 个答案:

答案 0 :(得分:4)

弄清楚我的问题。

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

请记住保留2把钥匙:

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

  2. 在您希望在部署到Google Play商店之前签署应用时,可以使用发布证书API密钥。

答案 1 :(得分:0)

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

enter image description here

答案 2 :(得分: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地图。

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