确保已启用“ Google Maps Android API v2”。即使已经启用

时间:2018-11-15 09:36:02

标签: java android api google-maps

我正在使用包含Google Maps API的Android应用程序。为此,我从console developers

启用了此API
Maps SDK for Android

我创建了一个凭据,为App Android设置了一个限制,我还添加了应用程序的程序包和指纹,并且在“ API限制”标签上,我选择了适用于Android的Maps SDK。 之后,在我的应用清单中,我写了Google地图的密钥。当我从Android Studio构建应用程序时,一切都很好(我的手机加一加6已插入PC)。地图可以按我的意愿工作。但是,如果我尝试安装生成的APK(从构建->生成签名的包/ APK生成签名的APK),则地图不会显示,并且在logcat上显示错误

2018-11-15 10:19:45.590 13249-13249/? I/DynamiteModule: Considering local module com.google.android.gms.maps_dynamite:0 and remote module com.google.android.gms.maps_dynamite:221
2018-11-15 10:19:45.590 13249-13249/? I/DynamiteModule: Selected remote version of com.google.android.gms.maps_dynamite, version >= 221
2018-11-15 10:19:45.652 13249-13249/? I/Google Maps Android API: Google Play services client version: 12451000
2018-11-15 10:19:45.655 13249-13249/? I/Google Maps Android API: Google Play services package version: 14367037
2018-11-15 10:19:45.985 633-13359/? I/netd: ;; res_nquery(maps.googleapis.com, 1, 1)
2018-11-15 10:19:46.162 13249-13358/? W/System.err: com.google.maps.errors.RequestDeniedException: This IP, site or mobile application is not authorized to use this API key. Request received from IP address *********, with empty referer
2018-11-15 10:19:46.162 13249-13358/? W/System.err:     at com.google.maps.DirectionsApi$Response.getError(DirectionsApi.java:90)
2018-11-15 10:19:46.162 13249-13358/? W/System.err:     at com.google.maps.internal.OkHttpPendingResult.parseResponse(OkHttpPendingResult.java:289)
2018-11-15 10:19:46.162 13249-13358/? W/System.err:     at com.google.maps.internal.OkHttpPendingResult.onResponse(OkHttpPendingResult.java:207)
2018-11-15 10:19:46.250 13249-13356/? E/Google Maps Android API: Authorization failure.  Please see https://developers.google.com/maps/documentation/android-api/start for how to correctly set up the map.
2018-11-15 10:19:46.251 13249-13356/? E/Google Maps Android API: In the Google Developer Console (https://console.developers.google.com)
    Ensure that the "Google Maps Android API v2" is enabled.
    Ensure that the following Android Key exists:
        API Key: YOUR_KEY_HERE
        Android Application (<cert_fingerprint>;<package_name>): *********;************

我在这里看到2个问题:

This IP, site or mobile application is not authorized to use this API

Ensure that the "Google Maps Android API v2" is enabled

我真的不明白。实际上,我无法弄清楚。我启用了所有功能,但仍无法正常工作。还有其他事情要做吗?

1 个答案:

答案 0 :(得分:0)

由于您尚未在Google Api控制台上添加应用程序密钥库的SHA,因此无法正常工作。您可以通过在Android Studio的终端中使用以下命令来获取密钥库的SHA:-

keytool -list -v -keystore {keystore_name} -alias {alias_name}

注意:两个名称都应具有文件的完整路径,如果路径包含空格,请在引号中添加路径。

示例:

keytool -list -v -keystore "C:\Users\MG\Desktop\My Projects\test.jks" -alias test