mapbox / mapbox-maps-android

Interactive, thoroughly customizable maps in native Android powered by vector tiles and OpenGL.
https://www.mapbox.com/mobile-maps-sdk
Other
464 stars 131 forks source link

Launch App - MapboxSDKCommonInitializer - ClassNotFoundException #2203

Closed maheshordex closed 10 months ago

maheshordex commented 10 months ago

Environment

Observed behavior and steps to reproduce

When I run the app and launch it is crashing immediately.

Expected behavior

It should run without crash

Notes / preliminary analysis

FATAL EXCEPTION: main
Process: com.xxxx.xxxx, PID: 10395
java.lang.RuntimeException: Unable to get provider androidx.startup.InitializationProvider: androidx.startup.StartupException: java.lang.NoClassDefFoundError: Failed resolution of: Lcom/mapbox/common/MapboxSDKCommonInitializer;
    at android.app.ActivityThread.installProvider(ActivityThread.java:7467)
    at android.app.ActivityThread.installContentProviders(ActivityThread.java:6973)
    at android.app.ActivityThread.handleBindApplication(ActivityThread.java:6744)
    at android.app.ActivityThread.-$$Nest$mhandleBindApplication(Unknown Source:0)
    at android.app.ActivityThread$H.handleMessage(ActivityThread.java:2133)
    at android.os.Handler.dispatchMessage(Handler.java:106)
    at android.os.Looper.loopOnce(Looper.java:201)
    at android.os.Looper.loop(Looper.java:288)
    at android.app.ActivityThread.main(ActivityThread.java:7872)
    at java.lang.reflect.Method.invoke(Native Method)
    at com.android.internal.os.RuntimeInit$MethodAndArgsCaller.run(RuntimeInit.java:548)
    at com.android.internal.os.ZygoteInit.main(ZygoteInit.java:936)
Caused by: androidx.startup.StartupException: java.lang.NoClassDefFoundError: Failed resolution of: Lcom/mapbox/common/MapboxSDKCommonInitializer;
    at androidx.startup.AppInitializer.doInitialize(AppInitializer.java:187)
    at androidx.startup.AppInitializer.discoverAndInitialize(AppInitializer.java:239)
    at androidx.startup.AppInitializer.discoverAndInitialize(AppInitializer.java:207)
    at androidx.startup.InitializationProvider.onCreate(InitializationProvider.java:49)
    at android.content.ContentProvider.attachInfo(ContentProvider.java:2451)
    at android.content.ContentProvider.attachInfo(ContentProvider.java:2421)
    at android.app.ActivityThread.installProvider(ActivityThread.java:7462)
    at android.app.ActivityThread.installContentProviders(ActivityThread.java:6973) 
    at android.app.ActivityThread.handleBindApplication(ActivityThread.java:6744) 
    at android.app.ActivityThread.-$$Nest$mhandleBindApplication(Unknown Source:0) 
    at android.app.ActivityThread$H.handleMessage(ActivityThread.java:2133) 
    at android.os.Handler.dispatchMessage(Handler.java:106) 
    at android.os.Looper.loopOnce(Looper.java:201) 
    at android.os.Looper.loop(Looper.java:288) 
    at android.app.ActivityThread.main(ActivityThread.java:7872) 
    at java.lang.reflect.Method.invoke(Native Method) 
    at com.android.internal.os.RuntimeInit$MethodAndArgsCaller.run(RuntimeInit.java:548) 
    at com.android.internal.os.ZygoteInit.main(ZygoteInit.java:936) 
Caused by: java.lang.NoClassDefFoundError: Failed resolution of: Lcom/mapbox/common/MapboxSDKCommonInitializer;
    at com.mapbox.maps.loader.MapboxMapsInitializer.dependencies(MapboxMapsInitializer.java:24)
    at androidx.startup.AppInitializer.doInitialize(AppInitializer.java:168)
    at androidx.startup.AppInitializer.discoverAndInitialize(AppInitializer.java:239) 
    at androidx.startup.AppInitializer.discoverAndInitialize(AppInitializer.java:207) 
    at androidx.startup.InitializationProvider.onCreate(InitializationProvider.java:49) 
    at android.content.ContentProvider.attachInfo(ContentProvider.java:2451) 
    at android.content.ContentProvider.attachInfo(ContentProvider.java:2421) 
    at android.app.ActivityThread.installProvider(ActivityThread.java:7462) 
    at android.app.ActivityThread.installContentProviders(ActivityThread.java:6973) 
    at android.app.ActivityThread.handleBindApplication(ActivityThread.java:6744) 
    at android.app.ActivityThread.-$$Nest$mhandleBindApplication(Unknown Source:0) 
    at android.app.ActivityThread$H.handleMessage(ActivityThread.java:2133) 
    at android.os.Handler.dispatchMessage(Handler.java:106) 
    at android.os.Looper.loopOnce(Looper.java:201) 
    at android.os.Looper.loop(Looper.java:288) 
    at android.app.ActivityThread.main(ActivityThread.java:7872) 
    at java.lang.reflect.Method.invoke(Native Method) 
    at com.android.internal.os.RuntimeInit$MethodAndArgsCaller.run(RuntimeInit.java:548) 
    at com.android.internal.os.ZygoteInit.main(ZygoteInit.java:936) 
Caused by: java.lang.ClassNotFoundException: Didn't find class "com.mapbox.common.MapboxSDKCommonInitializer" on path: DexPathList[[zip file "/data/app/~~jrEpF30zgHjD3q0lQ5cLhA==/com.mach1services.provider-tR1GkVrff2q0KUKJ25-nCQ==/base.apk"],nativeLibraryDirectories=[/data/app/~~jrEpF30zgHjD3q0lQ5cLhA==/com.mach1services.provider-tR1GkVrff2q0KUKJ25-nCQ==/lib/x86_64, /data/app/~~jrEpF30zgHjD3q0lQ5cLhA==/com.mach1services.provider-tR1GkVrff2q0KUKJ25-nCQ==/base.apk!/lib/x86_64, /system/lib64, /system_ext/lib64]]
    at dalvik.system.BaseDexClassLoader.findClass(BaseDexClassLoader.java:259)
    at java.lang.ClassLoader.loadClass(ClassLoader.java:379)
    at java.lang.ClassLoader.loadClass(ClassLoader.java:312)
    at com.mapbox.maps.loader.MapboxMapsInitializer.dependencies(MapboxMapsInitializer.java:24) 
    at androidx.startup.AppInitializer.doInitialize(AppInitializer.java:168) 
    at androidx.startup.AppInitializer.discoverAndInitialize(AppInitializer.java:239) 
    at androidx.startup.AppInitializer.discoverAndInitialize(AppInitializer.java:207) 
    at androidx.startup.InitializationProvider.onCreate(InitializationProvider.java:49) 
    at android.content.ContentProvider.attachInfo(ContentProvider.java:2451) 
    at android.content.ContentProvider.attachInfo(ContentProvider.java:2421) 
    at android.app.ActivityThread.installProvider(ActivityThread.java:7462) 
    at android.app.ActivityThread.installContentProviders(ActivityThread.java:6973) 
    at android.app.ActivityThread.handleBindApplication(ActivityThread.java:6744) 
    at android.app.ActivityThread.-$$Nest$mhandleBindApplication(Unknown Source:0) 
    at android.app.ActivityThread$H.handleMessage(ActivityThread.java:2133) 
    at android.os.Handler.dispatchMessage(Handler.java:106) 
    at android.os.Looper.loopOnce(Looper.java:201) 
    at android.os.Looper.loop(Looper.java:288) 
    at android.app.ActivityThread.main(ActivityThread.java:7872) 
    at java.lang.reflect.Method.invoke(Native Method) 
    at com.android.internal.os.RuntimeInit$MethodAndArgsCaller.run(RuntimeInit.java:548) 
    at com.android.internal.os.ZygoteInit.main(ZygoteInit.java:936) 
```1.0.0-beta.6'){
        exclude group: 'com.mapbox.common', module: 'common'
 }
maheshordex commented 10 months ago

Team

App is stuck due to this error. Can someone target this issue ?

kiryldz commented 10 months ago

I am not sure what's happening but I see

exclude group: 'com.mapbox.common', module: 'common'

and that's the reason why you can't resolve this. Why did you exclude common? It's an essential part of our SDK.

maheshordex commented 10 months ago

@kiryldz My all dependencies looks like this If i am not exclude common it shows duplicate class error.

implementation ('com.mapbox.maps:android:11.0.0-beta.6')
 {
        exclude group: 'com.mapbox.mapboxsdk'
       exclude group: 'com.mapbox.common', module: 'common'
  }
implementation 'com.mapbox.mapboxsdk:mapbox-android-plugin-places-v8:0.9.0'
implementation ('com.mapbox.mapboxsdk:mapbox-android-core:5.0.0')
implementation 'com.mapbox.mapboxsdk:mapbox-android-navigation:0.42.6'
implementation 'com.mapbox.mapboxsdk:mapbox-android-navigation-ui:0.42.6'

Duplicate class

Duplicate class com.mapbox.android.core.permissions.PermissionsListener found in modules jetified-common-24.0.0-beta.7-runtime (com.mapbox.common:common:24.0.0-beta.7) and jetified-mapbox-android-core-5.0.0-runtime (com.mapbox.mapboxsdk:mapbox-android-core:5.0.0)
Duplicate class com.mapbox.android.core.permissions.PermissionsManager found in modules jetified-common-24.0.0-beta.7-runtime (com.mapbox.common:common:24.0.0-beta.7) and jetified-mapbox-android-core-5.0.0-runtime (com.mapbox.mapboxsdk:mapbox-android-core:5.0.0)
Duplicate class com.mapbox.android.core.permissions.PermissionsManager$AccuracyAuthorization found in modules jetified-common-24.0.0-beta.7-runtime (com.mapbox.common:common:24.0.0-beta.7) and jetified-mapbox-android-core-5.0.0-runtime (com.mapbox.mapboxsdk:mapbox-android-core:5.0.0)
kiryldz commented 10 months ago

@maheshordex Maps v11 is not compatible with Navigation SDK you're using. Please refer to the Nav SDK documentation. AFAIR versions you have are the very legacy ones. If you'll have more issues please open an issue in https://github.com/mapbox/mapbox-navigation-android.