2016-06-17 3 views
6

Ich mache eine Anwendung für Android TV und nutzen Sie die FehlerUnsatisfiedLinkError: dalvik.system.PathClassLoader

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

auf einem NexusPlayer mit Android 6.0.1. Seltsam, dass es auf einem Smart TV mit Android 5.1.1 funktioniert.

Der gesamte Text Fehler ist:

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" 

wenn hilft.

(jniLabs ist fein mit 2 Ordner armeabi und armeabi-V7A und jeder hat libnmpsdk.so)

Die Fehlerlinie, die log mir zeigt diesen Teil des Codes hat:

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

Wenn Jeder, der auf dieses Problem gestoßen ist, lassen Sie es mich bitte wissen, ich habe noch nichts gefunden, was es löst.

Vielen Dank im Voraus.

Antwort

18

Also das ist die Lösung für UnbefriedigteLinkError für meinen Fall, aber ich denke, es ist allgemein.

Put in gradle.properties diese Linie

android.useDeprecatedNdk=true; 

und in build.gradle diese Linie in DefaultConfig Feld

ndk { 
      abiFilters "armeabi", "armeabi-v7a" 
     } 
+3

Dies ist der Artikel mit einer Beschreibung ist: https://medium.com/ mobiwise-blog/unzufriedenerlinkerror-problem-auf-einigen-android-geraten-b77f2f83837d – ultraon

+0

Für Android Studio 2.3 brauchen wir nicht verwenden "android.useDeprecatedNdk = true;" in der Datei gradle.properties – ultraon