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.

Vlad.mir
  • 685
  • 1
  • 10
  • 28

1 Answers1

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"
        }
Vlad.mir
  • 685
  • 1
  • 10
  • 28
  • 4
    This is the article with some description: https://medium.com/mobiwise-blog/unsatisfiedlinkerror-problem-on-some-android-devices-b77f2f83837d – ultraon Mar 13 '17 at 16:25
  • For Android Studio 2.3 we do not need use "android.useDeprecatedNdk=true;" in gradle.properties file – ultraon Mar 13 '17 at 17:14