2016-06-17 13 views
6

Tôi đang làm cho một ứng dụng cho AndroidTV và nhận được lỗiUnsatisfiedLinkError: dalvik.system.PathClassLoader

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

trên NexusPlayer với Android 6.0.1. Tò mò rằng nó hoạt động trên TV thông minh với Android 5.1.1.

Các lỗi văn bản toàn bộ là:

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" 

nếu giúp.

(jniLabs là tốt với 2 thư mục armeabi và armeabi-v7a và mỗi người có libnmpsdk.so)

Dòng lỗi đăng nhập được hiển thị cho tôi có phần mã này:

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

Nếu bất cứ ai đã gặp phải vấn đề này xin vui lòng cho tôi biết, tôi đã không tìm thấy bất cứ điều gì mà giải quyết nó được nêu ra.

Xin cảm ơn trước.

Trả lời

18

Vì vậy, đây là giải pháp cho UnsatisfiedLinkError cho trường hợp của tôi nhưng tôi nghĩ nó là chung.

Đặt trong gradle.properties dòng này

android.useDeprecatedNdk=true; 

và trong build.gradle dòng này trong lĩnh vực defaultConfig

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

Đây là bài viết với một số mô tả: https://medium.com/ mobiwise-blog/unsatisfiedlinkerror-problem-on-some-android-devices-b77f2f83837d – ultraon

+0

Đối với Android Studio 2.3, chúng tôi không cần sử dụng "android.useDeprecatedNdk = true;" trong tệp gradle.properties – ultraon

Các vấn đề liên quan