Yandex MapKit 3.0 Crash

1.3k Views Asked by At

Yandex MapKit crashes on MapKitFactory.initialize(this) line

override fun onCreate(savedInstanceState: Bundle?) {
    super.onCreate(savedInstanceState)
    MapKitFactory.setApiKey(YANDEX_MAP_KEY)
    MapKitFactory.initialize(this)
    setContentView(R.layout.advert_activity)
}

Stacktrace is

java.lang.UnsatisfiedLinkError: dlopen failed: "/data/data/com.appname.app/app_lib/libgnustl_shared.so" is 32-bit instead of 64-bit at java.lang.Runtime.load0(Runtime.java:928) at java.lang.System.load(System.java:1621) at com.yandex.runtime.internal.ReLinker.loadLibrary(ReLinker.java:82) at com.yandex.runtime.Runtime.loadLibrary(Runtime.java:122) at com.yandex.runtime.Runtime.init(Runtime.java:99) at com.yandex.mapkit.MapKitFactory.initialize(MapKitFactory.java:18) at com.appname.main.MainActivity.onCreate(MainActivity.kt:41) at android.app.Activity.performCreate(Activity.java:7023) at android.app.Activity.performCreate(Activity.java:7014) at android.app.Instrumentation.callActivityOnCreate(Instrumentation.java:1215) at android.app.ActivityThread.performLaunchActivity(ActivityThread.java:2745) at android.app.ActivityThread.handleLaunchActivity(ActivityThread.java:2870) at android.app.ActivityThread.-wrap11(Unknown Source:0) at android.app.ActivityThread$H.handleMessage(ActivityThread.java:1601) at android.os.Handler.dispatchMessage(Handler.java:106) at android.os.Looper.loop(Looper.java:172) at android.app.ActivityThread.main(ActivityThread.java:6590) at java.lang.reflect.Method.invoke(Native Method) at com.android.internal.os.RuntimeInit$MethodAndArgsCaller.run(RuntimeInit.java:438) at com.android.internal.os.ZygoteInit.main(ZygoteInit.java:807)

2

There are 2 best solutions below

1
On

I have tried everything, but only that solution worked:

Add this line to project's build.gradle

android {
    defaultConfig {
        ndk {
            abiFilters "armeabi-v7a", "x86", 'armeabi', 'arm64-v8a'
        }

        packagingOptions {
            exclude '/lib/mips64/**'
            exclude '/lib/arm64-v8a/**'
            exclude '/lib/x86_64/**'
        }
    }
}
0
On

Look at this issue https://github.com/yandex/mapkit-android-demo/issues/4/. MapKit 3.0 doesn't have armv8.