Не удалось найти класс ' com.google.android.gms.location.internal.ParcelableGeofence ссылка из метода glt.a

? Naveen Kumar @ | Original: StackOverFlow
---

У меня есть приложение, где домашняя страница отображение.

Не знаю, почему я получаю эту ошибку и вместе с этой ошибкой Could not find class 'gpr', referenced from method gps.a

Я обновил затмение, так что я пытался изменить, чтобы ввести API с новым SHA1 отпечатком. Но это не работает.

Мое приложение, чтобы показать текущее местоположение, когда вы открываете приложение . Это только что приземлился в целом карте, но в журнале кошки я получить эти ошибки. Вот мой Logcat

`07-08 12:54:39.897: I/Google Maps Android API(25749): Google Play services client version: 5077000

 07-08 12:54:39.907: I/dalvikvm(25749): Could not find method guj.a, referenced from method gqi.a

 07-08 12:54:39.907: W/dalvikvm(25749): VFY: unable to resolve static method 24936: Lguj;.a (Landroid/content/Context;)Lgri;

 07-08 12:54:39.907: D/dalvikvm(25749): VFY: replacing opcode 0x71 at 0x0003

 07-08 12:54:39.917: E/dalvikvm(25749): Could not find class 'gpr', referenced from method gps.a

 07-08 12:54:39.917: W/dalvikvm(25749): VFY: unable to resolve new-instance 4090 (Lgpr;) in Lgps;

 07-08 12:54:39.917: D/dalvikvm(25749): VFY: replacing opcode 0x22 at 0x0000

 07-08 12:54:39.927: E/dalvikvm(25749): Could not find class 'gpr', referenced from method gps.a

 07-08 12:54:39.927: W/dalvikvm(25749): VFY: unable to resolve new-instance 4090 (Lgpr;) in Lgps;

 07-08 12:54:39.927: D/dalvikvm(25749): VFY: replacing opcode 0x22 at 0x0000

 07-08 12:54:39.927: E/dalvikvm(25749): Could not find class 'gpr', referenced from method gps.a

 07-08 12:54:39.927: W/dalvikvm(25749): VFY: unable to resolve new-instance 4090 (Lgpr;) in Lgps;

 07-08 12:54:39.927: D/dalvikvm(25749): VFY: replacing opcode 0x22 at 0x0000

 07-08 12:54:39.937: D/dalvikvm(25749): DexOpt: unable to opt direct call 0x5ea3 at 0x0a in Lgps;.a

 07-08 12:54:39.937: D/dalvikvm(25749): DexOpt: unable to opt direct call 0x5ea3 at 0x0c in Lgps;.a

 07-08 12:54:39.937: D/dalvikvm(25749): DexOpt: unable to opt direct call 0x5ea3 at 0x0a in Lgps;.a

 07-08 12:54:39.957: I/Google Maps Android API(25749): Google Play services package version: 5084034

 07-08 12:54:39.977: W/dalvikvm(25749): VFY: unable to resolve static field 20873 (t) in Lyp;

 07-08 12:54:39.977: D/dalvikvm(25749): VFY: replacing opcode 0x62 at 0x000e
 07-08 12:54:39.977: W/dalvikvm(25749): VFY: unable to resolve static field 20873 (t) in Lyp;

 07-08 12:54:39.977: D/dalvikvm(25749): VFY: replacing opcode 0x62 at 0x000d

 07-08 12:54:40.888: I/dalvikvm(25749): Failed resolving Lcom/google/android/gms/location/internal/ParcelableGeofence; interface 4023 'Lgln;'

 07-08 12:54:40.888: W/dalvikvm(25749): Link of class 'Lcom/google/android/gms/location/internal/ParcelableGeofence;' failed

 07-08 12:54:40.898: E/dalvikvm(25749): Could not find class 'com.google.android.gms.location.internal.ParcelableGeofence', referenced from method glt.a

 07-08 12:54:40.898: W/dalvikvm(25749): VFY: unable to resolve check-cast 2086 (Lcom/google/android/gms/location/internal/ParcelableGeofence;) in Lglt;

 07-08 12:54:40.898: D/dalvikvm(25749): VFY: replacing opcode 0x1f at 0x0019

 07-08 12:54:41.589: W/ActivityThread(25749): ClassLoader.loadClass: The class loader returned by Thread.getContextClassLoader() may fail for processes that host multiple applications. You should explicitly specify a context class loader. For example: Thread.setContextClassLoader(getClass().getClassLoader());`

Я пытался Google его вокруг, и это, кажется, нет надлежащего решения еще не так бы полезно, если кто-то может помочь мне с этим .

---

Top 5 ответ

1Alex Ferrer Developer @

Я покажу вам, как я решил такую ​​же проблему вы имеете.

Прежде всего, я очистил все SDK, и я повторно загрузить Google Play Services Библиотека. Тогда я снял .android папку моем компьютере, и я регенерировать свою debug.keystore .

После этого, я просто получить мой новый SHA1, чтобы получить мой Google Maps V2 ключ API .

После обновить apikey, давайте посмотрим, как я могу изменить мой код .

Теперь я использую фрагмент с MapFragment InstEd из MapView в макете XML.

    <RelativeLayout xmlns:android="http://schemas.android.com/apk/res/android"
    xmlns:tools="http://schemas.android.com/tools"
    android:layout_width="match_parent"
    android:layout_height="match_parent"
    tools:context=".MapsActivity" >

    <fragment
        android:id="@+id/map"
        android:layout_width="match_parent"
        android:layout_height="match_parent"
        class="com.google.android.gms.maps.MapFragment" />

</RelativeLayout> 

И использовать FragmentManager, чтобы найти его :

    public class MapsActivity extends Activity
{
    private GoogleMap map;

    @Override
    protected void onCreate(Bundle savedInstanceState) 
    {
        super.onCreate(savedInstanceState);
        setContentView(R.layout.activity_map);

        // Gets the MapView from the XML layout and creates it
        map = ((MapFragment) getFragmentManager().findFragmentById(R.id.map)).getMap();
        map.getUiSettings().setMyLocationButtonEnabled(false);
        //map.setMyLocationEnabled(true);
        map.setOnMapClickListener(this);
        map.setOnMapLongClickListener(this);
        try 
        {
            MapsInitializer.initialize(MapsActivity.this);
        } 
        catch (Exception e) 
        {
            e.printStackTrace();
        }
    }

Я надеюсь, что это полезно и извините, если мой английский так плохо, с уважением

2Autocyclist @

Не могли бы вы опубликовать манифест ? Без ключа API, конечно.

Ваш журнал выглядит почти идентично добывать для задачи я имел в последнее время, который был зафиксирован, добавивследующую строку в манифесте :

 <uses-permission android:name="com.google.android.providers.gsf.permission.READ_GSERVICES" />

Я работаю над приложением, которое обратившегося карты просто отлично, потом остановился на ровном месте . Я не мог ничего видеть на самом деле, указывая на пропавшего разрешения; Я только взял на него, когда я сравнилпроявляется с другим приложением, которое используется API Карт v2.

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

Источник:  https://developers.google.com/maps/documentation/business/mobile/android/config

3virtualSO @

Я была такая же проблема после обновления до API Level 23 в июле ( с клиентом Google - плей- service_lib 5.0.77 ).

Проблема была решена после того, как Google Play служба была обновлена ​​до последней ( 6.1.09 ) на испытательном устройстве.

Так что, похоже, был (вопрос от конкретного устройства ) из-за несовместимости между версией Google Play Service на устройство / эмулятор и клиентской библиотеки API ( Google -Play - service_lib ) в проекте.

В соответствии с документацией Google, когдаклиент новее, чем служба ,клиентская библиотека API должен решить, не соответствующие современным вопросам обслуживания АПК ; (и это происходит в данном случае, посколькувопрос действительно не затрагивает выпущен АПК -х ) https://developer.android.com/google/play-services/index.html .

Мои предыдущие попытки решить эту проблему с помощью нового ключа API и начальной установке затмения / ADT / SDK / Google - плей- service_lib, как это было предложено в этом и других подобных вопросов не работает.