谷歌地图Android未经过身份验证

时间:2016-01-28 18:33:26

标签: android google-maps android-studio

我正在Android Studio上开发Android应用,并尝试创建Google地图活动。

Android Studio自动创建了Activity和google_maps_api.xml文件。然后,我在Google Developers Console上创建了Google Maps Android Key,并将其复制到上述xml文件中。我也

运行应用程序时显示以下错误:

Sink

我尝试将以下行添加到Manifest

01-28 13:16:21.279 5689-5863/com.comunity.dxmobile.tooltester E/b: Authentication failed on the server.
01-28 13:16:21.279 5689-5863/com.comunity.dxmobile.tooltester E/Google Maps Android API: Authorization failure.  Please see https://developers.google.com/maps/documentation/android/start for how to correctly set up the map.
01-28 13:16:21.284 5689-5863/com.comunity.dxmobile.tooltester 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: AIza****vlmk
                                                                                            Android Application (<cert_fingerprint>;<package_name>): 57:29:****:77:1A:71;com.comunity.dxmobile.tooltester

还添加了元数据标签

<uses-permission android:name="com.google.android.providers.gsf.permission.READ_GSERVICES"/>

这是我的gradle文件

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

这是google_maps_aspi.xml文件

apply plugin: 'com.android.application'

android {
    compileSdkVersion 23
    buildToolsVersion "23.0.1"
    defaultConfig {
        applicationId "com.comunity.dxmobile.tooltester"
        minSdkVersion 14
        targetSdkVersion 23
        versionCode 1
        versionName "1.0"
    }
    buildTypes {
        release {
            minifyEnabled false
            proguardFiles getDefaultProguardFile('proguard-android.txt'), 'proguard-rules.pro'
        }
    }
    productFlavors {
    }
}

dependencies {
    compile fileTree(dir: 'libs', include: ['*.jar'])
    testCompile 'junit:junit:4.12'
    compile 'com.android.support:appcompat-v7:23.1.1'
    compile 'com.android.support:design:23.1.1'
    compile 'com.android.support:percent:23.0.1'
    compile 'com.google.android.gms:play-services-maps:8.4.0'
    compile 'com.google.android.gms:play-services:8.4.0'
}

我还检查了开发人员控制台,并启用了api。不是&#34; Google Maps Android API v2&#34;但是&#34;谷歌地图Android API&#34;。

4 个答案:

答案 0 :(得分:1)

确保您已将以下内容添加到AndroidManifest.xml,<application>代码级别:

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

您还应该在新的资源文件keys.xml中包含Google Developer Console中生成的密钥,如下所示:

<?xml version="1.0" encoding="utf-8"?>
<resources>
    <string name="google_maps_key" templateMergeStrategy="preserve" translatable="false">INSERT YOUR GENERATED KEY</string>
</resources>

答案 1 :(得分:0)

你是否在清单中添加了与地图相关的元数据,如下所示

<svg>
    <defs>
        <pattern id="secondPattern" x="2" y="2" 
                 width="20" height="20" patternUnits="userSpaceOnUse">

            <path x="5" y="5" fill="#FFFFFF" stroke="black"
                  d="M351.869,326.667c0,0-13.381-53.913,24.107-104.465 c-7.809,24.381-23.059,38.464-21.428,104.465"/>
        </pattern>
    </defs>

    <rect x="2" y="2" width="200" height="200" 
          stroke="#333333" stroke-width="2" fill="url(#secondPattern)" />

    <!--the same path here works: -->
    <path x="5" y="5" fill="red" stroke="black"
          d="M351.869,326.667c0,0-13.381-53.913,24.107-104.465 c-7.809,24.381-23.059,38.464-21.428,104.465"/>
</svg>

答案 2 :(得分:0)

在您的控制台日志中:异常说  确保&#34; Google Maps Android API v2&#34;已启用。

请检查您的Google开发者帐户,您需要启用Map API。

使用您的帐户登录并检查API是启用还是禁用。 https://console.developers.google.com/apis/api/maps_android_backend/overview?project

答案 3 :(得分:0)

我遇到了同样的问题,请转到Google website并找到&#34;显示调试证书指纹&#34;部分并按照说明进行操作!