Интеграция API Карт Google v1 на уровне API 26 - PullRequest
0 голосов
/ 23 октября 2018

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

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

Работает только при запуске проекта непосредственно из студии android, но происходит сбой приложения при установке его из apk после выпуска release /сборка дистрибутива приложения.Ниже приведен журнал ошибок:

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)

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

**Project Dependencies**

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...