2014-07-03 7 views
16

Alles funktionierte ok, dann fing Eclipse plötzlich an zu brechen und bat um einen Perspektivenwechsel und ging in den Debug-Modus mit der Fehler "Link der Klasse" Lcom/google/android/gms/location/internal/ParcelableGeofence; " gescheitert. Googeln das Problem führen nirgends. Debugger zeigt auf PathClassLoader (BaseDexClassLoader) .findClass (String) Zeile: 61
Merkwürdig, wenn ich map.setMyLocationEnabled entfernen (true); von meinem Code nicht mehr abstürzt, aber immer noch kann ich das sehen in logcatKonnte die Klasse 'com.google.android.gms.location.internal.ParcelableGeofence' nicht finden, referenziert von der Methode glt.a

E/dalvikvm(5639): Could not find class 'gpr', referenced from method gps.a 
W/dalvikvm(5639): VFY: unable to resolve new-instance 4090 (Lgpr;) in Lgps; 

hier ist voll log:

07-03 13:07:31.677: W/dalvikvm(5639): VFY: unable to resolve static method 24936: Lguj;.a 

(Landroid/content/Context;)Lgri; 
07-03 13:07:31.697: E/dalvikvm(5639): Could not find class 'gpr', referenced from method gps.a 
07-03 13:07:31.697: W/dalvikvm(5639): VFY: unable to resolve new-instance 4090 (Lgpr;) in Lgps; 
07-03 13:07:31.697: E/dalvikvm(5639): Could not find class 'gpr', referenced from method gps.a 
07-03 13:07:31.697: W/dalvikvm(5639): VFY: unable to resolve new-instance 4090 (Lgpr;) in Lgps; 
07-03 13:07:31.697: E/dalvikvm(5639): Could not find class 'gpr', referenced from method gps.a 
07-03 13:07:31.697: W/dalvikvm(5639): VFY: unable to resolve new-instance 4090 (Lgpr;) in Lgps; 
07-03 13:07:31.707: I/Google Maps Android API(5639): Google Play services package version: 5084034 
07-03 13:07:31.737: W/dalvikvm(5639): VFY: unable to resolve static field 20873 (t) in Lyp; 
07-03 13:07:31.737: W/dalvikvm(5639): VFY: unable to resolve static field 20873 (t) in Lyp; 
07-03 13:07:32.778: W/dalvikvm(5639): Link of class 'Lcom/google/android/gms/location/internal/ParcelableGeofence;' failed 
07-03 13:07:32.778: E/dalvikvm(5639): Could not find class 'com.google.android.gms.location.internal.ParcelableGeofence', referenced from method glt.a 
07-03 13:07:32.778: W/dalvikvm(5639): VFY: unable to resolve check-cast 2086 (Lcom/google/android/gms/location/internal/ParcelableGeofence;) in Lglt; 
07-03 13:07:34.089: I/Adreno200-EGLSUB(5639): <ConfigWindowMatch:2078>: Format RGBA_8888. 
07-03 13:07:34.319: D/LOCATION(5639): Connected 
07-03 13:07:34.319: I/Adreno200-EGLSUB(5639): <ConfigWindowMatch:2089>: Format RGBX_8888. 

Antwort

1

Das Problem wahrscheinlich geschieht, weil die Karte nicht geladen wird und die App versucht, um Sie in einer entladenen Karte zu finden. Die Karte wird nicht mit Ihrem API-Schlüssel oder Paketnamen geladen. Ich denke, dein API-Schlüssel hat sich geändert. Bitte überprüfen Sie den API-Schlüssel und den Paketnamen.

+0

Nein, das ist nicht der Fall, egal, wenn ich aufrufe map.setMyLocationEnabled (true); Auch der API-Schlüssel wurde nicht geändert. Ich habe sogar den Code für ein paar Tage per git zurückgesetzt, aber immer noch kein Glück, ich denke, dass es etwas mit adt zu tun hat. – Vilen

+0

Hast du ein Eclipse Update gemacht? Coz, das deinen sha1 Code ändert. Und deshalb muss Ihr API-Schlüssel geändert werden. –

+0

nein, habe ich nicht, aber ich habe immer noch einen neuen map api key erstellt, leider kein glück. Seltsame Sache ist, dass die Anwendung nach diesem Fehler funktioniert – Vilen

-2

Für mich Einstellung Eclipse Einstellungen -> Android -> Build -> Benutzerdefinierte Keystore behoben das Problem. Deinstalliere App und säubere Build.

+0

versuchte es, erstellt neue benutzerdefinierte Schlüssel, dann Google API-Schlüssel basierend auf benutzerdefinierten Keystore, deinstalliert das Projekt von Gerät, Arbeitsbereich gereinigt, aber nein ändern, trotzdem danke für Hilfe – Vilen

+0

Das behob das Problem für mich .... – SpyZip

0

habe ich zwei Dinge, um Karte google zu arbeiten:

  1. Verwendung der mapView statt MapFragment oder SupportMapFragment.
  2. wenn der Plan den aktuellen Standort des Benutzers implementiert verwendet, dann überprüfen Sie müssen, wenn der Benutzer seine Ortsdienst Ihre Karte aktiviert und implementieren, basierend auf der Verwendung eines Verfahrens

wie so zum Beispiel:

public boolean isLocationServiceEnabled() { 
    LocationManager locationManager = (LocationManager) getActivity().getSystemService(Context.LOCATION_SERVICE); 
    if(!locationManager.isProviderEnabled(LocationManager.GPS_PROVIDER) && !locationManager.isProviderEnabled(LocationManager.NETWORK_PROVIDER)) { 
      //All location services are disabled 
     return false; 
    } 
    return true; 
} 
-1

Für neue Besucher, wenn Ihr Code und API-Schlüssel in Ordnung sind, dann überprüfen Sie bitte, ob Ihr Gerät eine Internetverbindung hat. Da ich den Switch im Internet vergessen habe, habe ich denselben Fehler bekommen.

+0

C'mon, denken Sie, dass ich Karte App ohne Internetverbindung oder ungültige API-Schlüssel zu debuggen bin? und so viele Leute haben dasselbe Problem? – Vilen

+0

Diese Antwort für Entwickler, die Map-App ohne Internetverbindung debuggen, weil wir Menschen sind, also können wir vergessen, die Internetverbindung beim Debuggen zu öffnen. Diese Antwort ist nur ein Hinweis zu prüfen, ob die Verbindung nicht in Ordnung ist – Ozan