当前位置 : 主页 > 手机开发 > android >

android – java.lang.UnsatisfiedLinkError:dalvik.system.PathClassLoader

来源:互联网 收集:自由互联 发布时间:2021-06-11
有没有经历过这个错误的人? java.lang.UnsatisfiedLinkError: dalvik.system.PathClassLoader[DexPathList[[zip file "/data/app/org.swig.simple-2/base.apk"],nativeLibraryDirectories=[/vendor/lib, /system/lib]]] couldn't find "liborg.
有没有经历过这个错误的人?

java.lang.UnsatisfiedLinkError: dalvik.system.PathClassLoader[DexPathList[[zip file "/data/app/org.swig.simple-2/base.apk"],nativeLibraryDirectories=[/vendor/lib, /system/lib]]] couldn't find "liborg.swig.simple.example.so"

通过这种方式加载库时发生错误.

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

我确定’example’类存在于当前文件夹中.

请注意,有一个命名约定.您的lib需要被称为libexample.so.

LoadLibrary(“example”)将查找libexample.so.

.so库需要在lib文件夹下的apk下面(因为你正在为Android开发,它需要在lib / armeabi和lib / armeabi-v7a文件夹下 – 为什么这两个文件夹?某些版本的Android看起来在lib下/ armeabi和一些看下lib / armeabi-v7a … se什么对你有用).

其他要寻找的东西:

>确保编译正确的体系结构(如果编译为armeabi v5,它将无法在armeabiv7或armeabiv7s上运行).
>确保导出的原型在正确的类中使用(请查看hello jni示例.您的公开函数需要看起来像Java_mypackagename_myjavabridgeclass_myfunction).

例如,函数Java_com_example_sample_hello将在java类com.example.sample,function hello中进行转换.

网友评论