2017-06-09 88 views
0

当我从谷歌下载我的应用程序时,Google Map未加载。 当我直接下载带有.apk文件的应用程序(将其传输到我的手机并下载)时,它确实加载了! 我搜遍了,它仍然无法正常工作。 这是我做过什么:从Google Play商店下载我的应用程序时Google Map未加载

  1. 在Android Studio中,建设 - >生成登录APK我创建了一个新的密钥存储“密钥库”和一个新的关键“应用”
  2. 运行命令:keytool -list -v -keystore keystore.jks -alias应用程序。
  3. 在步骤2的输出中,在'证书指纹:'下,我采用了'SHA1'值和我的软件包名称'com.gilshelef.feedme'(来自AndroidManifest.xml文件),并在Google中生成了一个新的API密钥api控制台。我将密钥限制为'android apps',并添加了我的SHA1和包名。
  4. 我放置所生成的密钥(步骤3)在我的清单文件:

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

  5. 在机器人工作室,建设 - >生成符号APK我使用了在步骤1中创建的相同的密钥库和同样的钥匙。

  6. 我将生成的apk文件上传到Google play。

当我从谷歌下载我的应用程序后,地图仍然是空白!

注:

  1. 我也试图从.jks改变了密钥库的扩展的.keystore由于Android Studio使用.jks扩展。
  2. 我验证了来自google api控制台的密钥和我在AndroidManifest.xml文件中使用的密钥是相同的。
  3. 我在google api console和Manifest文件中验证了包名。
  4. 我跟着这个:this教程'显示释放证书指纹'。输出看起来与“签名算法名称:SHA1withRSA”相同。我的发布密钥库中的签名算法名称是'SHA256withRSA'也许这是问题?

我在做什么错?

回答

0

由于google_maps_key在发布模式和调试模式下不同, 当您注册您的应用程序的发行版,就这样,你可以做以下操作:

  1. 找出发行SHA-1指纹(here
  2. 从谷歌
  3. 再拿API_KEY谷歌地图API
  4. 将新在SRC /发行/价值/ google_maps_api.xml(在项目视图)API_KEY或(应用程序/ RES /价值/在Android设备上查看google_maps_api.xml(释放))

希望它可以帮助你......

+0

这正是我所做的......如步骤中所述。我使用keytool从发布密钥库中获取了SHA1指纹。使用google api控制台创建新的api密钥,并将该密钥添加到我的发布中google_maps_api.xml ... –

+0

我从通过android studio生成的'keystore.jks'获取的SHA1指纹。我在步骤2中使用了keytool命令。 –

+0

我发誓它不在你的问题中:o!但是我将释放键放在res/release/values/google_maps_api.xml中,而不是直接放在清单文件中。 –

相关问题