Не удалось найти класс com.google.android.gms.location.internal.ParcelableGeofence ', на который ссылается метод glt.a
Все работало нормально, затем внезапно затмение начало ломать прошение о перспективой переключения и перейти в режим отладки с ошибкой "Link of class" Lcom/google/android/gms/location/internal/ParcelableGeoFence; не смогли.
Проблема с поиском проблемы ни к чему не приводит.
Отладчик указывает на PathClassLoader (BaseDexClassLoader).findClass(String): 61
Странно, когда я удаляю map.setMyLocationEnabled(true); из моего кода он больше не сбой, но все же я вижу это в 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;
здесь полный журнал:
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.
Ответы
Ответ 1
Проблема, вероятно, происходит потому, что карта не загружена, и приложение пытается найти вас на незагруженной карте. Карта не загружается с вашим ключом api или именем пакета. Я думаю, ваш ключ api изменился. Проверьте свой api-ключ и имя пакета.
Ответ 2
Я сделал две вещи, чтобы работать с картой google:
- используйте mapView вместо MapFragment или SupportMapFragment.
- Если реализованная вами карта использует текущее местоположение пользователя, вы должны проверить, включен ли у пользователя сервис определения местоположения, и реализовать свою карту на основе этого метода
например, так:
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;
}
Ответ 3
Для новых посетителей, если ваш код и ключ api в порядке, проверьте, подключено ли ваше устройство к Интернету. Поскольку я забыл о переключении в Интернете, я получил такую же ошибку.
Ответ 4
Для меня настройка Eclipse Preferences → Android → Build → Пользовательское хранилище ключей устраняет проблему. Также удалите приложение и очистите его.