【问题标题】:Google maps is not displaying in my activity in release build mode在发布构建模式下,Google 地图未显示在我的活动中
【发布时间】:2021-10-18 07:05:05
【问题描述】:

我正在尝试在我的 Android 应用程序中显示 Google 地图。

我已经注册了我的 API 密钥,并将提供的文件(“google_maps_api.xml”)放入两者中

src/debug/res/values/google_maps_api.xml
src/release/res/values/google_maps_api.xml

在 Manifest 中,我声明:

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

如果我在手机上使用 Android Studio 的播放按钮(调试模式)运行它,它会完美运行。

但是,如果我请求 Android Studio“生成签名包/APK”,并手动安装此版本变体(仍然在我的手机上):

adb install my-app-release.apk

然后地图根本不显示,我也没有来自 logcat 的任何日志(因为这是一个禁用调试的版本变体)。

为什么会发生这种情况,我该如何解决?

注意:我不会将此应用程序发布到应用商店,只是想构建发布变体并保持地图正常工作。

【问题讨论】:

  • 这是因为您的 SHA 密钥必须用于已签名的 apk。
  • 我不明白这个。请多描述一点。我有自己的用于发布构建的自签名密钥。

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


【解决方案1】:

我必须做两个步骤:

1.) 手动获取我的自签名证书的 SHA-1 指纹,该指纹在生成签名版本期间使用:

keytool -list -v -keystore [your_certificate] -alias [your_alias]

2.) 将 SHA-1 指纹添加到 Google Cloud Console

在上述两个步骤之后,Google 地图在发布和调试版本中的行为相同。

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 2011-10-27
    • 1970-01-01
    • 2021-02-18
    • 1970-01-01
    • 1970-01-01
    • 2016-04-10
    • 1970-01-01
    • 2014-08-18
    相关资源
    最近更新 更多