Okay, hier ist das, was ich tat das exampleMap API v2 Authorization Failure
- mit Haben Sie die Debug-Schlüssel über keytool (sorgte dafür, es ist die der Debug-Schlüssel von Eclipse in den Einstellungen verwendet wird -> Android -> bauen)
generiert den Schlüssel durch den Befehl
$ keytool -list -v -keystore debug.keystore -alias androiddebugkey -storepass android -keypass android
Kopieren Sie klebte das SHA1 Summe in der Google API Console + mein Paket:
Summe; com.my.package
Aktiviert Google Map API v2 im selben Projekt in Google API Console
kopiert zur Manifest-Anwendung in Meta-Daten.
Über SDK-Manager heruntergeladen und das Projekt google-play-services_lib importiert und als Bibliotheksprojekt referenziert. Sowie der ActionBarSherlock.
Bevor ich starte stelle ich sicher, dass die GooglePlayServices verfügbar sind.
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"/>
Anwendung:
<meta-data
android:name="com.google.android.maps.v2.API_KEY"
android:value="debug_key"/>
Die proguard Sachen sind zu hinzugefügt, aber ich jetzt nicht verschleiern.
DrugstoresMapActivity erstreckt 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
Die ActionBarSherlock hat android-Support-v4 in libs, nicht das Hauptprojekt wenn es ankommt.
Die StartupActivity stellt sicher, dass DrugstoresMapActivity nur gestartet werden, wenn die Dienste verfügbar
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;
}
}
doppelt überprüft die Tasten sind in Ordnung. Keine Ahnung, was ich hier verpasst habe.
nur neugierig, wie hast du das herausgefunden? Ich bin jeden Tag auf Techblogs und auf den Android-Entwicklerdokumenten, und ich habe nur zufällig davon erfahren, als ich versuchte, ein unmögliches Problem mit Android Maps V1 in meinem bestehenden Code zu lösen. – CQM
Informieren Sie sich über was. Über den falschen Dienst aktiviert? Wenn ja, hättest du das in der Antwort fragen sollen, nicht die Frage, um es klarer zu machen.Ich habe den Vorschlag irgendwo in StackOverflow gefunden, nachdem ich stundenlang verschiedene Probleme bezüglich dieses Problems durchgesehen habe. –
nein, wie hast du über Android Karten v2 herausgefunden, merke ich bin * nur * zwei Wochen zu spät, aber ich denke, es ist eine große Sache – CQM