Ошибка API-карты API v2

Хорошо, вот что я сделал, используя пример

  • Получил ключ отладки с помощью keytool (убедитесь, что ключ отладки используется eclipse в настройках → Android → Build)
  • Сгенерированный ключ командой

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

  • Скопируйте сумму SHA1 в Консоль API Google + мое имя_пакета:

    сумма; com.my.package

  • Включен API карт Google v2 в том же проекте в консоли API Google

  • Скопировал его в приложение манифест в метаданных.

  • Скачан через менеджер SDK и импортирован проект google-play-services_lib и назвал его проектом библиотеки. Как и ActionBarSherlock.

  • Перед запуском я уверен, что доступны сервисы GooglePlayServices.

манифеста:

<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"/>

Применение:

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

Также добавляются материалы proguard, но я не запутываю прямо сейчас.

АптекиMapActivity расширяет возможности 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 есть поддержка android-support-v4 в libs, а не основной проект, если это имеет значение.

StartupActivity гарантирует, что DrugstoresMapActivity будет запущен, только если доступные сервисы

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;
    }
}

Двойная проверка ключей в порядке. Не знаю, что я пропустил здесь.

Ответ 1

Неверная служба была включена. Убедитесь, что "Google Maps Android API v2", а не "Google Maps API v2" включен и повторно сгенерирован ключ API.