Android 为什么谷歌地图没有在生产中展示?
我正在上传一个应用到Play Store。它被上传得很好,但有一个不便之处,我使用的地图是在调试模式下显示的,而不是在生产中使用我的应用程序时(当我将应用程序上传到市场并从那里下载时)。当我试图打开地图时,会显示一个灰色屏幕。我正在使用谷歌地图 我所做的:Android 为什么谷歌地图没有在生产中展示?,android,google-maps,Android,Google Maps,我正在上传一个应用到Play Store。它被上传得很好,但有一个不便之处,我使用的地图是在调试模式下显示的,而不是在生产中使用我的应用程序时(当我将应用程序上传到市场并从那里下载时)。当我试图打开地图时,会显示一个灰色屏幕。我正在使用谷歌地图 我所做的: 我已经创建了一个发布配置文件来签署我的APK,我在生成APK时使用它。要签署APK,我(在Android Studio上)Build>Generate Signed APK,使用我的证书配置文件的名称、别名和密码 我已经使用我之前在步骤中创
- 我已经创建了一个发布配置文件来签署我的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
提前谢谢 当您生成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
上,但它在parhentesisdebug
模式下。这就是为什么我在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
上,但它在parhentesisdebug
模式下。这就是为什么我在strings.xml文件中找到了我的API密钥,而不是调试google_maps_API文件。我找不到任何发布文件夹。在google places的google developer api控制台中检查权限在google places api的google developer api控制台中检查权限