UnsatisfiedLinkError: dalvik.system.PathClassLoader

Vlad.mir picture Vlad.mir · Jun 17, 2016 · Viewed 16.9k times · Source

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.

Answer

Vlad.mir picture Vlad.mir · Jun 23, 2016

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"
        }