2012-12-07 27 views
11

Próbowałem wykonać samouczek na temat Android Maps V2 Quick Start . Jednak po uruchomieniu aplikacji wyświetlany jest pusty ekran mapy. Mój telefon używa Androida 2.2.1.Google Maps V2 pokazuje pusty ekran na Androida 2.2

enter image description here

To co pokazuje w 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 

Edit: Jest to plik 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> 

Edit: dodałem zdjęcie mojego google Konsola api:

enter image description here

+0

Czy dodano klucz API własnego stworzenia? –

+0

Tak, mam. Najpierw utworzyłem jeden z magazynu kluczy debugowania. Kiedy to się nie udało, utworzyłem inny magazyn kluczy i utworzyłem klucz APi z tym, ale nadal nie działa – euniceadu

+0

Widok mapy jest tam, więc jedyne 2 rzeczy, które wiem, aby zatrzymać pojawianie się mapy, są złym kluczem lub nie dodałeś uprawnienia do dostępu do Internetu w manifeście. –

Odpowiedz

7

W końcu dowiedziałem się, na czym polegał problem. Wybrałem niewłaściwy plik kluczy debugowania. Pracuję z maszyną ubuntu. Odkąd otwarto zaćmienie jako root, domyślnie kluczy w Eclipse znajdował się w moim folderze głównym (/root/.android/.android/debug.keystore) whiles byłem tworząc klucz API z kluczy debugowania z mojego folderu użytkownika. Stworzyłem nowy klucz APi z plikiem debugowania w folderze głównym i działa on teraz.

2

upewnić się, że umożliwiają obsługę API v2 Mapy Google Android w https://code.google.com/apis/console

  1. idź do was zakładka https://code.google.com/apis/console-> Usługi
  2. Upewnij Mapy Google Android API v2 jest włączony
  3. idź do API Zakładka dostęp
  4. Tworzenie ponownie nowy Android klucz

Więc jesteś dobry, aby przejść :)

+0

Już to zrobiłem. Właśnie edytowałem moje pytanie, aby dołączyć obraz mojej konsoli Google apis. – euniceadu

1

Grzebałem z tymi rzeczami również przez wieki (certyfikaty, nazwy pakietów, konsole API itp.) I nic nie działało, dopóki nie próbowałem odinstalować aplikacji z mojego urządzenia, a następnie ponownie ją zainstalować i nagle wszystko było w porządku.

0

Miałem ten sam problem, a rozwiązaniem było usunięcie pliku debug.keystore. Potem zrobiłem adb uninstall com.example.myapp Następnie wyczyść i uruchom ponownie aplikację.

Myślę, że problem wynikał z faktu, że skopiowane i wklejone w moim oczywistym manekina klucz API i ja pierwszy raz wdrożonej aplikacji z nim.

1

miałem ten sam problem, ale rozwiązać go tak. Może być pomocne, jeśli powyższa odpowiedź nie działa dla Ciebie. Po zmianie nazwy pakietu aplikacji mapa zacznie się nie wyświetlać. (stało się to po tym, jak zmieniłem nazwę pakietu)

  1. Usuń plik magazynu kluczy, który został użyty przez poprzedniego pakietu
  2. Utwórz nowy plik kluczy
  3. Get SHA1 fingerprint
  4. przejść do API Console
  5. Utwórz nową aplikację dla systemu Android.
  6. wklej fingerprint
  7. Zastosowanie dany klucz API w pliku manifestu

który pracował dla mnie

Powiązane problemy