Dobra, oto co zrobiłem używając exampleMapa Awaria API v2 Autoryzacja
- ma klucz debugowania poprzez keytool (zadbali jest to klawisz debugowania jest używany przez zaćmienie w Ustawienia -> Android -> Budowanie)
Wygenerowany klucz przez komendę
$ keytool -list -v -keystore debug.keystore -alias androiddebugkey -storepass android -keypass android
Kopia wklejony sumę SHA1 w konsoli API Google + moje nazwa_pakietu:
sumy; com.my.package
Włączone Google Map API v2 w ramach tego samego projektu w konsoli API Google
skopiowałeś do aplikacji Manifest w metadanych.
Pobrano za pomocą Menedżera SDK i zaimportowano projekt google-play-services_lib i wymieniono go jako projekt biblioteki. Jak również ActionBarSherlock.
Przed uruchomieniem upewniam się, że usługi GooglePlayServices są dostępne.
Oczywisty:
<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"/>
Zastosowanie:
<meta-data
android:name="com.google.android.maps.v2.API_KEY"
android:value="debug_key"/>
PROGUARD rzeczy dodaje też, ale nie zaciemniać teraz.
DrugstoresMapActivity rozciąga 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
ActionBarSherlock ma android-support-V4 w bibliotekami, a nie główny projekt, czy to się liczy.
StartupActivity zapewnia, że DrugstoresMapActivity zostanie uruchomiona tylko wtedy, gdy usługi dostępne
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;
}
}
dwukrotnie sprawdzane klucze są w porządku. Nie mam pojęcia, czego tu brakowało.
ciekawy, jak się o tym dowiedziałeś? Jestem na blogach tech codziennie i na dokumentach dla programistów Androida codziennie, a zdarzyło mi się tylko dowiedzieć się o tym od próby rozwiązania niemożliwego problemu z mapami android v1 w moim istniejącym kodzie. – CQM
Dowiedz się o czym. Informacje o Wrong service enabled? Jeśli tak, powinieneś poprosić o to w komentarzu do odpowiedzi, a nie o to, by było ono wyraźniejsze.Znalazłem sugestię gdzieś tutaj w StackOverflow po godzinach przeglądania różnych problemów dotyczących tego problemu. –
Nie, skąd dowiedziałeś się o mapach Androida v2, zdaję sobie sprawę, że jestem * tylko * spóźniony o dwa tygodnie, ale myślę, że jest to wielka sprawa – CQM