UnsatisfiedLinkError: dalvik.system.PathClassLoader
Asked Answered
S

1

13

I'm making an application for AndroidTV and get the error

java.lang.UnsatisfiedLinkError:
 dalvik.system.PathClassLoader[DexPathList[[zip file
 "/data/app/mytv.mytv-2/base.apk"

on a NexusPlayer with Android 6.0.1. Curious that it works on a smart TV with Android 5.1.1.

The whole text error is:

java.lang.UnsatisfiedLinkError:
 dalvik.system.PathClassLoader[DexPathList[[zip file
 "/data/app/mytv.mytv-2/base.apk"],nativeLibraryDirectories=[/data/app/mytv.mytv-2/lib/x86, /data/app/mytv.mytv-2/base.apk!/lib/x86, /vendor/lib, /system/lib]]]
 couldn't find "libnmpsdk.so"

if helps.

(jniLabs is fine with 2 folders armeabi and armeabi-v7a and each one has libnmpsdk.so)

The error line that log is showing me has this part of code:

static {
    System.loadLibrary("nmpsdk");
}

If anyone had encountered this problem please let me know, i haven't found anything that solves it yet.

Thanks in advance.

Si answered 17/6, 2016 at 15:0 Comment(0)
S
30

So this is the solution for UnsatisfiedLinkError for my case but I think it's general.

Put in gradle.properties this line

android.useDeprecatedNdk=true;

and in build.gradle this line in defaultConfig field

ndk {
            abiFilters "armeabi", "armeabi-v7a"
        }
Si answered 23/6, 2016 at 11:46 Comment(2)
This is the article with some description: medium.com/mobiwise-blog/…Hibbler
For Android Studio 2.3 we do not need use "android.useDeprecatedNdk=true;" in gradle.properties fileHibbler

© 2022 - 2024 — McMap. All rights reserved.