谷歌Api密钥丢失

时间:2015-10-07 09:28:02

标签: android api maps key

我正在尝试使用模拟器启动Android可穿戴设备,但它在启动时崩溃并收到以下错误:

java.lang.RuntimeException: API key not found.  Check that <meta-data android:name="com.google.android.geo.API_KEY" android:value="your API key"/> is in the <application> element of AndroidManifest.xml

但奇怪的部分是我确实在我的清单中定义了它:

新编辑“有效”

<manifest xmlns:android="http://schemas.android.com/apk/res/android"
    package="com.wearfare.wearapp.gpswear"
    android:versionCode="1"
    android:versionName="1.0" >

    <!-- Mark this app as an Android Wear app. -->
    <uses-feature android:name="android.hardware.type.watch" />

    <!-- Permission required for ambient mode to keep the application running. -->
    <uses-permission android:name="android.permission.WAKE_LOCK" />

    <uses-permission android:name="android.permission.ACCESS_COARSE_LOCATION"/>
    <uses-permission android:name="android.permission.ACCESS_FINE_LOCATION"/>

    <application

        android:allowBackup="true"
        android:icon="@mipmap/ic_launcher"
        android:label="@string/app_name"
        android:theme="@android:style/Theme.DeviceDefault" >

        <!-- API key for the Android Maps API v2. The value is defined as a string resource. -->
        <meta-data android:name="com.google.android.geo.API_KEY"
            android:value="xxxxxxxxxxxxxxx"/>

        <!-- Reference the wearable shared library required to support ambient mode. -->
        <uses-library android:name="com.google.android.wearable" android:required="false" />

        <activity
            android:name=".MainActivity"
            android:label="@string/app_name" >
            <intent-filter>
                <action android:name="android.intent.action.MAIN" />

                <category android:name="android.intent.category.LAUNCHER" />
            </intent-filter>
        </activity>

    </application>

</manifest>

编辑2

我得到以下内容:

10-07 10:04:43.972    1614-1614/com.wearfare.wearapp.gpswear W/ResourcesManager﹕ Asset path '/system/framework/com.google.android.wearable.jar' does not exist or contains no resources.
10-07 10:04:43.993    1614-1631/com.wearfare.wearapp.gpswear I/GMPM﹕ App measurement is starting up
    10-07 10:04:43.995    1614-1631/com.wearfare.wearapp.gpswear E/GMPM﹕ getGoogleAppId failed with status: 10
    10-07 10:04:43.995    1614-1631/com.wearfare.wearapp.gpswear E/GMPM﹕ Uploading is not possible. App measurement disabled

编辑 build.gradle

apply plugin: 'com.android.application'android {
        signingConfigs {
        }
        compileSdkVersion 22
        buildToolsVersion "23.0.1"
        defaultConfig {
            applicationId "com.wearfare.wearapp.gpswear"
            minSdkVersion 22
            targetSdkVersion 23
            versionCode 1
            versionName "1.0"
        }
        buildTypes {
            release {
                minifyEnabled false
                proguardFiles getDefaultProguardFile('proguard-android.txt'), 'proguard-rules.pro'
            }
        }
    }

    dependencies {
        compile fileTree(dir: 'libs', include: ['*.jar'])
        compile 'com.google.android.support:wearable:1.3.0'
        provided 'com.google.android.wearable:wearable:1.0.0'
        compile 'com.google.android.gms:play-services-wearable:8.1.0'
        compile 'com.google.android.gms:play-services:8.1.0'
        compile 'com.android.support:support-v4:23.0.1'
        compile 'com.google.android.gms:play-services-maps:8.1.0'
    }

xxx是我输入的api密钥,但在运行项目时仍会收到相同的错误消息。我在这里缺少什么建议?

提前致谢。

ALMOST THERE

好的伙计们,它看起来确实有效,但它没有显示我的地图,它是一个灰色的字段。我发现当我长按它时我可以解雇该应用程序。

所以也许它可能是为什么它不显示我的地图?

2 个答案:

答案 0 :(得分:1)

我认为灰色屏幕的问题在于您没有正确获取API密钥。请确保您已正确获得密钥。当我的密钥是为发布而不是调试模式生成时,我遇到了这个问题。

https://developers.google.com/maps/documentation/android-api/start#obtaining_an_api_key

答案 1 :(得分:0)

我已检查过您的清单并发现了问题。

请在文件末尾添加</manifest>标记。