Интеграция API Карт Google v1 на уровне API 26

Я пытаюсь обновить свое устаревшее приложение для Android до уровня Android API 26 согласно новому требованию Google. К сожалению, GoogleMap API V1 интегрирован в приложение, которое удалено с Android API Level 22.

Мне удалось использовать GoogleMap API V1 с Android API уровня 26 с помощью зависимости maps.jar.

Он работает только тогда, когда я запускаю проект непосредственно из Android-студии, но приложение зависает, когда я устанавливаю его из apk после создания выпуска / распространения сборки приложения. Ниже приведен журнал ошибок:

2018-10-22 18:24:29.581 18509-18509/com.gsccca.mapsearch E/AndroidRuntime: FATAL EXCEPTION: main
    Process: com.gsccca.mapsearch, PID: 18509
    java.lang.IncompatibleClassChangeError: Structural change of com.google.android.maps.MapActivity is hazardous (/data/app/com.gsccca.mapsearch-1/oat/arm64/base.odex at compile time, /system/framework/oat/arm64/com.google.android.maps.odex at runtime): Virtual method count off: 8 vs 9
    Lcom/google/android/maps/MapActivity; (Compile time):
     Static fields:
     Instance fields:
     Direct methods:
      <init>()V
     Virtual methods:
      isLocationDisplayed()Z
      isRouteDisplayed()Z
      onCreate(Landroid/os/Bundle;)V
      onDestroy()V
      onGetMapDataSource()I
      onNewIntent(Landroid/content/Intent;)V
      onPause()V
      onResume()V
    Lcom/google/android/maps/MapActivity; (Runtime):
     Static fields:
      I MAP_DATA_SOURCE_CHINA
      I MAP_DATA_SOURCE_DEFAULT
      Ljava/util/Map; drawableIdMap
      Ljava/lang/ref/WeakReference; sActivityReference
      Ljava/lang/ref/WeakReference; sMapReference
     Instance fields:
      Landroid_maps_conflict_avoidance/com/google/common/android/AndroidConfig; mConfig
      Landroid_maps_conflict_avoidance/com/google/googlenav/datarequest/DataRequestDispatcher; mDataRequestDispatcher
      Landroid_maps_conflict_avoidance/com/google/googlenav/map/Map; mMap
      Lcom/google/android/maps/MapView; mMapView
      Landroid/os/Handler; mNetworkHandler
      Lcom/google/android/maps/NetworkConnectivityListener; mNetworkWatcher
      Landroid_maps_conflict_avoidance/com/google/googlenav/map/TrafficService; mTrafficService
     Direct methods:
      -get0(Lcom/google/android/maps/MapActivity;)Landroid_maps_conflict_avoidance/com/google/common/android/AndroidConfig;
      -get1(Lcom/google/android/maps/MapActivity;)Landroid_maps_conflict_avoidance/com/google/googlenav/datarequest/DataRequestDispatcher;
      -get2(Lcom/google/android/maps/MapActivity;)Lcom/google/android/maps/NetworkConnectivityListener;
      <clinit>()V
      <init>()V
      createMap()V
      getServerUrl()Ljava/lang/String;
      restoreGlobalState()V
      sendStartSession()V
      setupTileDensity()V
     Virtual methods:
      isLocationDisplayed()Z
      isRouteDisplayed()Z
      onCreate(Landroid/os/Bundle;)V
      onDestroy()V
      onGetMapDataSource()I
      onNewIntent(Landroid/content/Intent;)V
      onPause()V
      onResume()V
      setupMapView(Lcom/google/android/maps/MapView;)V
     (declaration of 'com.gsccca.mapsearch.SearchNearMeActivity' appears in /data/app/com.gsccca.mapsearch-1/base.apk)
        at com.gsccca.mapsearch.HomeActivity.onClick(HomeActivity.java:382)
        at android.view.View.performClick(View.java:5612)
        at android.view.View$PerformClick.run(View.java:22285)
        at android.os.Handler.handleCallback(Handler.java:751)
        at android.os.Handler.dispatchMessage(Handler.java:95)
        at android.os.Looper.loop(Looper.java:154)
        at android.app.ActivityThread.main(ActivityThread.java:6154)
        at java.lang.reflect.Method.invoke(Native Method)
        at com.android.internal.os.ZygoteInit$MethodAndArgsCaller.run(ZygoteInit.java:867)
        at com.android.internal.os.ZygoteInit.main(ZygoteInit.java:757)

Зависимости проекта

Зависимости проекта

0 ответов

Другие вопросы по тегам