Подтвердить что ты не робот

Google Maps V2 показывает пустой экран на Android 2.2

Я пробовал следовать руководству Android Maps V2 Быстрый старт Но когда я запускаю приложение, отображается экран пустой карты. В моем телефоне используется Android 2.2.1.

enter image description here

Это то, что показано в logcat:

12-07 18:07:52.479: W/dalvikvm(1654): VFY: unable to resolve instance field 24
12-07 18:07:53.129: W/dalvikvm(1654): Unable to resolve superclass of Lmaps/a/du; (411)
12-07 18:07:53.129: W/dalvikvm(1654): Link of class 'Lmaps/a/du;' failed
12-07 18:07:53.139: W/dalvikvm(1654): Unable to resolve superclass of Lmaps/a/ej; (2363)
12-07 18:07:53.139: W/dalvikvm(1654): Link of class 'Lmaps/a/ej;' failed
12-07 18:07:53.139: W/dalvikvm(1654): Unable to resolve superclass of Lmaps/j/k; (2379)
12-07 18:07:53.139: W/dalvikvm(1654): Link of class 'Lmaps/j/k;' failed
12-07 18:07:53.149: E/dalvikvm(1654): Could not find class 'maps.j.k', referenced from method maps.y.ae.a
12-07 18:07:53.149: W/dalvikvm(1654): VFY: unable to resolve new-instance 3571 (Lmaps/j/k;) in Lmaps/y/ae;
12-07 18:07:53.389: W/dalvikvm(1654): VFY: unable to resolve direct method 14965: Ljava/io/IOException;.<init> (Ljava/lang/String;Ljava/lang/Throwable;)V

Изменить: это файл manifest.xml:

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

    <uses-sdk
        android:minSdkVersion="8"
        android:targetSdkVersion="17" />
    <uses-feature android:glEsVersion="0x00020000" android:required="true"/>
    <permission android:name="com.eunice.mapstry.permission.MAPS_RECEIVE"
                android:protectionLevel="signature"/>
    <uses-permission android:name="com.eunice.mapstry.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" >
        <uses-library android:name="com.google.android.maps" />

        <activity
            android:name="com.eunice.mapstry.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="AIzaSyBt_JE6_XIVR8-t0HrbhskeLrAVxSJst6c"/>
    </application>

</manifest>

Изменить: я добавил изображение моей консоли google api:

enter image description here

4b9b3361

Ответ 1

Наконец-то я выяснил, в чем проблема. Я выбрал неправильное хранилище отладки. Я работаю с машиной ubuntu. Поскольку я открыл eclipse как root, ключевое хранилище по умолчанию в eclipse было расположено в моей корневой папке (/root/.android/.android/debug.keystore), когда я создавал ключ api с хранилищем отладки из моей пользовательской папки. Я создал новый ключ api с хранилищем отладки в корневой папке, и теперь он работает.

Ответ 2

убедитесь, что вы включили службу Google Android Android API v2 в https://code.google.com/apis/console

  • Перейдите к https://code.google.com/apis/console- > вкладка служб
  • Убедитесь, что API Android Google Maps v2 включен.
  • Перейдите на вкладку API Access
  • Создайте новый ключ для Android

Тогда вам будет хорошо:)

Ответ 3

Я тоже с этим вешал эту информацию (сертификаты, имена пакетов, консоль API и т.д.), и ничего не работало до тех пор, пока я не попытался удалить приложение с моего устройства, а затем повторно установил его, и внезапно все было в порядке.

Ответ 4

У меня была та же проблема, но я решил это. Может быть полезно, если вышеупомянутый ответ не сработает для вас. После того как я изменил имя своего приложения, карта начинает не отображаться. (это произошло после того, как я изменил имя своего пакета)

  • Удалить файл хранилища ключей, который использовался для предыдущего пакета
  • Создайте новый файл хранилища ключей
  • Получить отпечаток SHA1
  • Перейти к API-консоли
  • Создайте новое приложение для Android.
  • Вставьте свой отпечаток пальца
  • Используйте указанный ключ API в файле манифеста

Это сработало для меня

Ответ 5

У меня была такая же проблема, и решение было удалить debug.keystore. Затем я сделал adb uninstall com.example.myapp Затем очистите и запустите приложение снова.

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