【问题标题】:Android Google Maps works on emulator but not on real deviceAndroid Google Maps 可以在模拟器上运行,但不能在真实设备上运行
【发布时间】:2026-01-08 20:10:01
【问题描述】:

我尝试让签名版本 apk 在真实设备上运行。我已经使用发布 API 密钥创建了发布证书,我将其放入我的发布 google_maps_api.xml 文件中。在清单中我有:

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

当我生成签名的发布 apk 并安装它并在模拟器中运行时,地图加载并运行,但是当我尝试在真实设备上执行相同操作时,地图甚至无法加载。

【问题讨论】:

  • 您使用哪个密钥库来生成 SHA1 密钥?调试密钥库还是发布调试密钥库?
  • 请检查在 Google 控制台中添加的 SignApk 上的 SHA1
  • @NaveenTamrakar SHA1 在谷歌控制台中匹配。
  • @Shane 我创建了发布证书并使用它来获取发布 API 密钥,然后我使用该证书创建了签名发布 apk。
  • 就在 mi14chals 的回答更进一步(我没有足够的代表来为该回答​​添加评论),我在设置 > 应用完整性下找到了签名密钥

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


【解决方案1】:

我找到了解决方案。现在发行证书的指纹已经没用了。要使地图正常工作,您需要转到 Google Play Console -> 选择应用程序 -> 发布管理 -> 应用程序签名并使用应用程序签名证书中的指纹。

【讨论】:

    最近更新 更多