Map API v2 Authorisation Failure

android, android-maps, google-maps-api-2

Solution

Wrong service was enabled. Make sure the "Google Maps Android API v2", not "Google Maps API v2" is enabled and re-generate the API key.

Problem

Alright, here is what I did using the example - Got the debug key via keytool (made sure it is the the debug key is used by eclipse in Preferences -> Android -> Build) Generated the key by the command $ keytool -list -v -keystore debug.keystore -alias androiddebugkey -storepass android -keypass android Copy pasted the SHA1 sum in the Google API Console + my packagename: sum;com.my.package Enabled Google Map API v2 in the same project in Google API Console Copied it to the Manifest application in meta-data. Downloaded via SDK manager and Imported the google-play-services_lib project and referenced it as the library project. As well as the ActionBarSherlock. Before launching I make sure the GooglePlayServices are available. Manifest: ``` <uses-feature android:glEsVersion="0x00020000" android:required="true"/> <permission android:name="com.my.package.permission.MAPS_RECEIVE" android:protectionLevel="signature"/> <uses-permission android:name="com.my.package.permission.MAPS_RECEIVE"/> <uses-permission android:name="com.google.android.providers.gsf.permission.READ_GSERVICES"/> <uses-permission android:name="android.permission.WRITE_EXTERNAL_STORAGE"/> <uses-permission android:name="android.permission.INTERNET"/> <uses-permission android:name="android.permission.ACCESS_FINE_LOCATION"/> ``` Application: ``` <meta-data android:name="com.google.android.maps.v2.API_KEY" android:value="debug_key"/> ``` The proguard stuff are added too, but I don't obfuscate right now. DrugstoresMapActivity extends SherlockFragmentActivity ``` <?xml version="1.0" encoding="utf-8"?> <RelativeLayout xmlns:android="http://schemas.android.com/apk/res/android" android:layout_width="match_parent" android:layout_height="match_parent"> <fragment android:id="@+id/map_fragment" class="com.google.android.gms.maps.SupportMapFragment" android:layout_width="match_parent" android:layout_height="match_parent"/> </RelativeLayout> ``` project.properties ``` target=android-17 android.library.reference.1=../google-play-services_lib android.library.reference.2=../ActionBarSherlock ``` The ActionBarSherlock has android-support-v4 in libs, not the main project if that matters. The StartupActivity makes sure that DrugstoresMapActivity will be launched only if the services available ``` private void attempt() { int result = GooglePlayServicesUtil.isGooglePlayServicesAvailable(getBaseContext()); switch (result) { case ConnectionResult.SUCCESS: startActivity(new Intent(this, DrugstoresMapActivity.class)); finish(); break; default: GooglePlayServicesUtil.getErrorDialog(result, this, REQUEST_DIALOG) .show(); break; } } ``` Double-checked the keys are fine. No clue what I missed here.

Original source