Android 为什么谷歌地图没有在生产中展示?

Android 为什么谷歌地图没有在生产中展示?,android,google-maps,Android,Google Maps,我正在上传一个应用到Play Store。它被上传得很好,但有一个不便之处,我使用的地图是在调试模式下显示的,而不是在生产中使用我的应用程序时(当我将应用程序上传到市场并从那里下载时)。当我试图打开地图时,会显示一个灰色屏幕。我正在使用谷歌地图 我所做的: 我已经创建了一个发布配置文件来签署我的APK,我在生成APK时使用它。要签署APK,我(在Android Studio上)Build>Generate Signed APK,使用我的证书配置文件的名称、别名和密码 我已经使用我之前在步骤中创

我正在上传一个应用到Play Store。它被上传得很好,但有一个不便之处,我使用的地图是在调试模式下显示的,而不是在生产中使用我的应用程序时(当我将应用程序上传到市场并从那里下载时)。当我试图打开地图时,会显示一个灰色屏幕。我正在使用谷歌地图

我所做的:

  • 我已经创建了一个发布配置文件来签署我的APK,我在生成APK时使用它。要签署APK,我(在Android Studio上)
    Build>Generate Signed APK
    ,使用我的证书配置文件的名称、别名和密码

  • 我已经使用我之前在步骤中创建的证书的SHA-1和我的项目包的名称生成了Google Maps API凭据。我已经限制它只能在Android上使用。它为我生成了一把钥匙

  • 我在项目的
    AndroidManifest.xml
    文件中添加了这两行:

    <meta-data
        android:name="com.google.android.geo.API_KEY"
        android:value="@string/google_maps_key" />
    
    
    
    其中,
    @string/google\u maps\u key
    是我在第二步中获得的密钥,并存储在
    strings.xml
    文件中

我知道Stackoverflow中存在一些相关问题,但大多数问题都建议生成我已经创建的两个证书之一

我缺少一些要求吗?我应该改变一些配置吗


提前谢谢

当您生成Google maps密钥时,是将SHA-1放在调试中还是放在发布证书中?如果您将debug SHA-1放入,那么还可以添加release

更新:


此外,正确的map实现方法是使用带有调试键的
debug/res/values/google\u maps\u api.xml
和另一个带有生产键的
release/res/values/google\u maps\u api.xml
strings.xml
中不应该有键。有关这方面的更多信息,您可以阅读。

当您生成Google maps密钥时,您是否将SHA-1放在调试或发布证书中?如果您将debug SHA-1放入,那么还可以添加release

更新:


此外,正确的map实现方法是使用带有调试键的
debug/res/values/google\u maps\u api.xml
和另一个带有生产键的
release/res/values/google\u maps\u api.xml
strings.xml
中不应该有键。您可以阅读更多信息。

我已经添加了发布版
.jks
文件的SHA-1。您需要添加.keystore文件的SHA-1,您已使用该文件签署了应用程序。是的,我提到的
.jks
文件与我用于签署APK的文件相同。有2个google\u maps\u api.xml文件。一个在调试文件夹中,一个在发布文件夹中。你把那把钥匙都放进去了吗?我只能看到其中一个在
res/values/google\u maps\u api.xml
上,但它在parhentesis
debug
模式下。这就是为什么我在strings.xml文件中找到了我的API密钥,而不是调试google_maps_API文件。我找不到任何发布文件夹。我已经添加了发布版
.jks
文件的SHA-1。您需要添加用于签署应用程序的.keystore文件的SHA-1。是的,我提到的
.jks
文件与我用于签署APK的文件相同。有2个google\u maps\u api.xml文件。一个在调试文件夹中,一个在发布文件夹中。你把那把钥匙都放进去了吗?我只能看到其中一个在
res/values/google\u maps\u api.xml
上,但它在parhentesis
debug
模式下。这就是为什么我在strings.xml文件中找到了我的API密钥,而不是调试google_maps_API文件。我找不到任何发布文件夹。在google places的google developer api控制台中检查权限在google places api的google developer api控制台中检查权限