简体   繁体   中英

Why does my Google Maps Android app not work with my Android App Api Key?

I am going through the Google Maps API Key tutorial for Android and I get the Authorization Failure error when I try to run it with the Android App key but it works when I use the browser app key. This is my manifest xml:

<?xml version="1.0" encoding="utf-8"?>
<manifest xmlns:android="http://schemas.android.com/apk/res/android"
package="com.example.neatspots"
android:versionCode="1"
android:versionName="1.0" >

<uses-sdk
    android:minSdkVersion="10"
    android:targetSdkVersion="17" />

<uses-feature android:glEsVersion="0x00020000" android:required="true"/>

<permission android:name="com.example.neatspots.permission.MAPS_RECEIVE" android:protectionLevel="signature"/>

<uses-permission android:name="com.example.neatspots.permission.MAPS_RECEIVE"/>
<uses-permission android:name="android.permission.INTERNET"/>
<uses-permission android:name="android.permission.WRITE_EXTERNAL_STORAGE"/>
<uses-permission android:name="com.google.android.providers.gsf.permission.READ_GSERVICES"/>
<uses-permission android:name="android.permission.ACCESS_COARSE_LOCATION"/>
<uses-permission android:name="android.permission.ACCESS_FINE_LOCATION"/>

<application
    android:allowBackup="true"
    android:icon="@drawable/ic_launcher"
    android:label="@string/app_name"
    android:theme="@style/AppTheme" >
    <activity
        android:name="com.example.neatspots.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>

    <meta-data
        android:name="com.google.android.maps.v2.API_KEY"
        android:value="..."/>
</application>    
</manifest>

This is my activity_main.xml file:

<?xml version="1.0" encoding="utf-8"?>
<RelativeLayout xmlns:android="http://schemas.android.com/apk/res/android"
    xmlns:tools="http://schemas.android.com/tools"
    android:layout_width="match_parent"
    android:layout_height="match_parent"
    tools:context=".MainActivity" >

    <TextView
        android:layout_width="wrap_content"
        android:layout_height="wrap_content"
        android:layout_centerHorizontal="true"
        android:layout_centerVertical="true"
        android:text="@string/hello_world" />

<fragment xmlns:android="http://schemas.android.com/apk/res/android"
  android:id="@+id/map"
  android:layout_width="match_parent"
  android:layout_height="match_parent"
  class="com.google.android.gms.maps.MapFragment"/>

</RelativeLayout>

And this is my Main Activity:

package com.example.neatspots;

import android.os.Bundle;
import android.app.Activity;


public class MainActivity extends Activity {

    @Override
    protected void onCreate(Bundle savedInstanceState) {
        super.onCreate(savedInstanceState);
        setContentView(R.layout.activity_main);
    }
}

This is what I used to get the SHA1 fingerprint:

keytool -v -list -alias androiddebugkey -keystore /filepath/debug.keystore -storepass android -keypass android

I don't know what the problem is!

Is your app allowed on Google console to use the google maps API? The package defined on the manifest must correspond to the package name defined on Google API Console like fingerprint;package-name.

first check have you add google library in your project right click on it select properties and then select android then at the bottom side add googole library.If you already add then try this code i send you a link just open it and check where is error in your project and then test it on your system emulator if no error occur then run on your normal phone. Here is link: http://www.vogella.com/articles/AndroidGoogleMaps/article.html

The technical post webpages of this site follow the CC BY-SA 4.0 protocol. If you need to reprint, please indicate the site URL or the original address.Any question please contact:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM