我正在尝试将我的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上更改签名算法?
答案 0 :(得分:4)
弄清楚我的问题。
我一直在从我的发布证书生成密钥,当我在手机上运行应用程序时,调试期间无法工作。我必须使用调试密钥库证书指纹。
请记住保留2把钥匙:
在手机上运行时,调试密钥库中的调试API密钥。
在您希望在部署到Google Play商店之前签署应用时,可以使用发布证书API密钥。
答案 1 :(得分:0)
请检查您是否在google api控制台中启用了Google Maps Android API v2
。
答案 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 文件导入您的应用文件夹。