web-dev-qa-db-fra.com

Impossible de trouver la classe 'com.google.Android.gms.location.internal.ParcelableGeofence', référencée depuis la méthode glt.a

Tout fonctionnait bien, puis soudainement Eclipse a commencé à casser des points en demandant un commutateur de perspective et en passant en mode débogage avec l'erreur 'Link de la classe "Lcom/google/Android/gms/location/internal/ParcelableGeoFence;" failed. La recherche du problème n'a donné aucun résultat. Le débogueur pointe vers PathClassLoader (BaseDexClassLoader) .findClass (String) ligne: 61
Étrangement lorsque je supprime map.setMyLocationEnabled (true); de mon code, il ne se bloque plus, mais je peux toujours le voir dans logcat

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;

voici le journal complet:

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.
16
Vilen

Le problème est probablement dû au fait que la carte n'est pas chargée et que l'application tente de vous localiser dans une carte non chargée. La carte ne se charge pas avec votre clé d'API ou le nom de votre package. Je pense que votre clé d'api a changé. Veuillez vérifier votre clé d’API et le nom du paquet.

1
Utsav Gupta

J'ai fait deux choses pour que google map fonctionne:

  1. utilisez mapView au lieu de MapFragment ou SupportMapFragment. 
  2. si la carte que vous avez implémentée utilise l'emplacement actuel de l'utilisateur, vous devez alors vérifier si le service de localisation de l'utilisateur est activé et implémenter votre carte à l'aide de cette méthode. 

comme par exemple:

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