mapbox-android-demo: couldn't find DSO to load: libmapbox-gl.so

E/SoLoader: couldn't find DSO to load: libmapbox-gl.so caused by: dlopen failed: "/data/data/im.aa.messager/lib-main/libmapbox-gl.so" has unexpected e_machine: 40 (EM_ARM)
E/Mbgl-LibraryLoader: Failed to load native shared library.
    com.facebook.soloader.SoLoader$WrongAbiError: APK was built for a different platform
        at com.facebook.soloader.SoLoader.loadLibraryBySoName(SoLoader.java:645)
        at com.facebook.soloader.SoLoader.loadLibrary(SoLoader.java:577)
        at com.facebook.soloader.SoLoader.loadLibrary(SoLoader.java:525)
        at com.mapbox.mapboxsdk.module.loader.LibraryLoaderProviderImpl$SoLibraryLoader.load(LibraryLoaderProviderImpl.java:42)
        at com.mapbox.mapboxsdk.LibraryLoader.load(LibraryLoader.java:43)
        at com.mapbox.mapboxsdk.net.NativeConnectivityListener.<clinit>(NativeConnectivityListener.java:13)
        at com.mapbox.mapboxsdk.net.ConnectivityReceiver.instance(ConnectivityReceiver.java:43)
        at com.mapbox.mapboxsdk.Mapbox.getInstance(Mapbox.java:67)
        at im.yai.message.mvp.ui.fragment.MapBoxFragment.onCreate(MapBoxFragment.java:79)
        at android.support.v4.app.Fragment.performCreate(Fragment.java:2414)
        at android.support.v4.app.FragmentManagerImpl.moveToState(FragmentManager.java:1418)
        at android.support.v4.app.FragmentTransition.addToFirstInLastOut(FragmentTransition.java:1195)
        at android.support.v4.app.FragmentTransition.calculateFragments(FragmentTransition.java:1078)
        at android.support.v4.app.FragmentTransition.startTransitions(FragmentTransition.java:117)
        at android.support.v4.app.FragmentManagerImpl.executeOpsTogether(FragmentManager.java:2408)
        at android.support.v4.app.FragmentManagerImpl.removeRedundantOperationsAndExecute(FragmentManager.java:2366)
        at android.support.v4.app.FragmentManagerImpl.execPendingActions(FragmentManager.java:2273)
        at android.support.v4.app.FragmentManagerImpl$1.run(FragmentManager.java:733)
        at android.os.Handler.handleCallback(Handler.java:873)
        at android.os.Handler.dispatchMessage(Handler.java:99)
        at android.os.Looper.loop(Looper.java:193)
        at android.app.ActivityThread.main(ActivityThread.java:6669)
        at java.lang.reflect.Method.invoke(Native Method)
        at com.android.internal.os.RuntimeInit$MethodAndArgsCaller.run(RuntimeInit.java:493)
        at com.android.internal.os.ZygoteInit.main(ZygoteInit.java:858)
     Caused by: java.lang.UnsatisfiedLinkError: couldn't find DSO to load: libmapbox-gl.so caused by: dlopen failed: "/data/data/im.aa.messager/lib-main/libmapbox-gl.so" has unexpected e_machine: 40 (EM_ARM)
        at com.facebook.soloader.SoLoader.doLoadLibraryBySoName(SoLoader.java:789)
        at com.facebook.soloader.SoLoader.loadLibraryBySoName(SoLoader.java:639)
        at com.facebook.soloader.SoLoader.loadLibrary(SoLoader.java:577) 
        at com.facebook.soloader.SoLoader.loadLibrary(SoLoader.java:525) 
        at com.mapbox.mapboxsdk.module.loader.LibraryLoaderProviderImpl$SoLibraryLoader.load(LibraryLoaderProviderImpl.java:42) 
        at com.mapbox.mapboxsdk.LibraryLoader.load(LibraryLoader.java:43) 
        at com.mapbox.mapboxsdk.net.NativeConnectivityListener.<clinit>(NativeConnectivityListener.java:13) 
        at com.mapbox.mapboxsdk.net.ConnectivityReceiver.instance(ConnectivityReceiver.java:43) 
        at com.mapbox.mapboxsdk.Mapbox.getInstance(Mapbox.java:67) 
        at im.yai.message.mvp.ui.fragment.MapBoxFragment.onCreate(MapBoxFragment.java:79) 
        at android.support.v4.app.Fragment.performCreate(Fragment.java:2414) 
        at android.support.v4.app.FragmentManagerImpl.moveToState(FragmentManager.java:1418) 
        at android.support.v4.app.FragmentTransition.addToFirstInLastOut(FragmentTransition.java:1195) 
        at android.support.v4.app.FragmentTransition.calculateFragments(FragmentTransition.java:1078) 
        at android.support.v4.app.FragmentTransition.startTransitions(FragmentTransition.java:117) 
        at android.support.v4.app.FragmentManagerImpl.executeOpsTogether(FragmentManager.java:2408) 
        at android.support.v4.app.FragmentManagerImpl.removeRedundantOperationsAndExecute(FragmentManager.java:2366) 
        at android.support.v4.app.FragmentManagerImpl.execPendingActions(FragmentManager.java:2273) 
        at android.support.v4.app.FragmentManagerImpl$1.run(FragmentManager.java:733) 
        at android.os.Handler.handleCallback(Handler.java:873) 
        at android.os.Handler.dispatchMessage(Handler.java:99) 
        at android.os.Looper.loop(Looper.java:193) 
        at android.app.ActivityThread.main(ActivityThread.java:6669) 
        at java.lang.reflect.Method.invoke(Native Method) 
        at com.android.internal.os.RuntimeInit$MethodAndArgsCaller.run(RuntimeInit.java:493) 
        at com.android.internal.os.ZygoteInit.main(ZygoteInit.java:858) 

About this issue

  • Original URL
  • State: closed
  • Created 5 years ago
  • Reactions: 3
  • Comments: 18 (3 by maintainers)

Most upvoted comments

Resolved those issues by implementing this step in a flutter project. Might work for you too. Add packagingOption in android>app>build.gradle

Screenshot 2021-05-31 011018

packagingOptions { pickFirst ‘/armeabi-v7a/libmapbox-gl.so’ pickFirst '/x86/libmapbox-gl.so’ pickFirst ‘/arm64-v8a/libmapbox-gl.so’ pickFirst '/x86_64/libmapbox-gl.so’ pickFirst ‘**/x86/libmapbox-gl.so’ }

@langsmith invalidate cache will not help because it’s a bug in SoLoader that was fixed some time ago. MapBox SDK should update it’s dependencies and release a new version