【问题标题】:UnsatisfiedLinkError: dalvik.system.PathClassLoaderUnsatisfiedLinkError: dalvik.system.PathClassLoader
【发布时间】:2016-10-19 11:32:10
【问题描述】:

我正在为 AndroidTV 制作应用程序并收到错误消息

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

在装有 Android 6.0.1 的 NexusPlayer 上。很好奇它可以在装有 Android 5.1.1 的智能电视上运行。

全文错误是:

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"

如果有帮助。

(jniLabs 有 2 个文件夹 armeabi 和 armeabi-v7a,每个文件夹都有 libnmpsdk.so)

日志显示的错误行有这部分代码:

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

如果有人遇到过这个问题,请告诉我,我还没有找到解决它的方法。

提前致谢。

【问题讨论】:

    标签: android android-tv nexus-player


    【解决方案1】:

    所以这是我的情况下 UnsatisfiedLinkError 的解决方案,但我认为它是一般性的。

    把 gradle.properties 这一行放进去

    android.useDeprecatedNdk=true;
    

    在 build.gradle 的 defaultConfig 字段中的这一行

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

    【讨论】:

    • 这是带有一些描述的文章:medium.com/mobiwise-blog/…
    • 对于 Android Studio 2.3,我们不需要使用 "android.useDeprecatedNdk=true;"在 gradle.properties 文件中
    猜你喜欢
    • 1970-01-01
    • 2023-01-29
    • 2011-06-27
    • 1970-01-01
    • 1970-01-01
    • 2015-04-24
    • 2012-05-28
    • 1970-01-01
    相关资源
    最近更新 更多