Android Studio - 谷歌地图在真实的Android设备上仍然空白发布apk

时间:2015-05-31 16:14:17

标签: android google-maps

用谷歌搜索,阅读了数百万关于如何生成谷歌API密钥的建议,如何使用它但没有任何作用!

  1. 启用了google maps v2 API
  2. 使用谷歌地图(工作室中的默认向导)一个活动创建项目
  3. 在Google上为调试项目创建了密钥,将 SHA1;应用程序包分配给Google上的项目密钥
  4. API密钥已插入google_maps_api.xml(AndroidManifest.xml自动更新)
  5. build&在应用程序正在运行的AVD上运行,显示地图。
  6. 然后:

    1. API已启用
    2. Android工作室中的
    3. 创建了发布的密钥库(keystore.rel.jks)
    4. 生成的指纹(keytool -list -v -keystore C:\ Dropbox \ AndroidKeyStore \ keystore.rel.jks)
    5. 谷歌上的
    6. 将新指纹添加到新发布项目(发布SHA1;应用程序包) - 密钥生成的AIza ......
    7. 将API密钥插入google_maps_api.xml(AndroidManifest.xml自动更新)
    8. 生成已签名的应用(使用keystore.rel.jks)&在真实设备上安装...应用程序正在运行,地图仍然是空白,只有缩放按钮和谷歌标签上
    9. 提前感谢任何建议。

      兹德涅克

10 个答案:

答案 0 :(得分:64)

确保在release文件夹下的google_maps_api.xml中输入发布API密钥。

首先,使用Project Explorer左上角的下拉列表切换到Project视图。然后,展开app/src/,您会看到子文件夹debugrelease。在那里,您应该会在debug/res/valuesrelease/res/values下看到两个单独的google_maps_api.xml文件。

确保版本API密钥位于release/res/values文件夹下的google_maps_api.xml文件中,因为这是将用于签名版本的apk。

enter image description here

答案 1 :(得分:6)

我厌倦了一遍又一遍地尝试,事实证明,PlayStore有一个名为应用程序签名证书的东西,并且我复制了sha1并将其粘贴到谷歌控制台中后,地图正常工作android地图。

答案 2 :(得分:1)

当您尝试创建map api密钥时,请确保该网址包含正确的软件包名称。它不应该带有任何这样的子包。

  

错误的软件包:com.gpslocation.trackerpro.Activities


  

正确的软件包:com.gpslocation.trackerpro

enter image description here

编辑后不要忘记保存

答案 3 :(得分:0)

确保您在google_maps_api.xml文件中输入的地图密钥与Google控制台生成的密钥相同。

您也可以尝试新密钥。

答案 4 :(得分:0)

enter image description here我遇到了同样的问题,以我为例,我在Google Map API密钥中使用的包裹的指纹不匹配,所以我做了什么:

  • 创建一个新的Google地图活动。
  • 转到google_maps_api.xml。
  • 复制该文件中给定的链接,并将其复制到浏览器中(登录到Google帐户)。
  • 在Google上,在此处创建一些项目,然后按继续
  • 点击创建API密钥
  • 复制密钥并粘贴到google_maps_api.xml

    string name =“ google_maps_key” templateMergeStrategy =“ preserve” translatable =“ false”您的密钥在这里

并执行应用程序

请勿使用下面的指纹或密钥,而是根据程序包和应用程序创建单独的

答案 5 :(得分:0)

通常,您必须执行以下步骤:

1-在android studio中创建新地图活动

2-在google_maps_api.xml中,打开第3行中的链接

3-确认数据并在Firebase中获取密钥

google_maps_api.xml调试和释放中复制4-键

5-在gradle标签中获取版本SHA1->签署报告

useful link for get sha1

useful link for sign application in debug mode to get sha1

答案 6 :(得分:0)

转到h ttps://play.google.com/apps/publish/,然后转到App signing

enter image description here

也许您会看到:

enter image description here

如果是这种情况,则可能您是开发人员而不是帐户所有者。您必须联系帐户所有者,并要求他/她完成该过程。遵循有关如何执行此操作的文章:

https://learnfreecoding.com/how-to-sign-your-android-app-with-signed-key-private_key-pepk/

帐户所有者将转到此屏幕:

enter image description here

让他们选择Upload a key exported from Android Studio。他们将必须上传private_key.pepk文件。这是您从Android Studio获取该文件的方式:

  • 转到Build > Generate Signed Bundle / APK...

enter image description here

选择Android App Bundle并单击Next

enter image description here

提供相应的凭据,并确保选中Export encrypted key for enrolling published apps in Google Play App Signing

enter image description here

指定目标文件夹,并确保在单击release之前选择Finish

enter image description here

这将生成您需要提供给private_key.pepk的{​​{1}}文件。

完成上述操作后,当您转到应用程序的Upload a key exported from Android Studio部分时,您会看到类似以下内容:

enter image description here

然后,您将看到Google Maps在真正的Android Studio物理设备上不仅在Android Studio Emulator上正常运行。这是我的解决方案。

答案 7 :(得分:0)

确保在Google控制台中启用Android版地图应用。

答案 8 :(得分:0)

请按照以下步骤操作:

  1. 转到 Google Play 管理中心 -> 设置 -> 应用完整性 -> 应用签名密钥证书
  2. 复制 SHA-1 证书指纹
  3. 打开 Google 云平台
  4. 转到 API 和服务 -> 凭据
  5. 点击您的 API 密钥
  6. 转到应用程序限制 -> 限制对您的 Android 应用程序的使用
  7. 点击添加项目
  8. 使用复制的 SHA-1 证书指纹添加您的包名称
  9. 等待大约 10 分钟。并且您的地图将显示在您发布的应用中。

enter image description here

enter image description here

答案 9 :(得分:-1)

在这个问题上停留了一天。我尝试了一切,最终在我的清单中找到了以下代码:

<supports-screens
   android:anyDensity="false"
   android:largeScreens="true"
   android:normalScreens="true"
   android:smallScreens="false"
   android:xlargeScreens="true" />

删除这些行后,我的地图显示正确。