许多类型的" java.lang.UnsatisfiedLinkError" Android中的错误

时间:2016-03-11 02:41:34

标签: android android-ndk unsatisfiedlinkerror

我使用android-ndk-r10e构建了so文件,并将so文件从服务器下载到/data/data/packagename.for.myapplication/myownso/armeabi-v7a/libtest.so。

在加载lib之前,我检查了文件md5:

checkSoFileMD5();
System.load("/data/data/packagename.for.myapplication/myownso/armeabi-v7a/libtest.so");

大部分时间都可以正常工作。 但是,我从用户那里收到一些关于" java.lang.UnsatisfiedLinkError" 的错误日志。

它们是:

1. java.lang.UnsatisfiedLinkError: Cannot load library: link_image[1934]:   107 missing essential tables

2. java.lang.UnsatisfiedLinkError: Cannot load library: get_lib_extents[845]:   574 - /data/data/packagename.for.myapplication/myownso/armeabi-v7a/libtest.so is not a valid ELF object

3. java.lang.UnsatisfiedLinkError: dlopen failed: "/data/data/packagename.for.myapplication/myownso/armeabi-v7a/libtest.so" is too small to be an ELF executable

4. java.lang.UnsatisfiedLinkError: dlopen failed: empty/missing DT_HASH in "libtest.so" (built with --hash-style=gnu?)

5. java.lang.UnsatisfiedLinkError: dlopen failed: invalid ELF file "/data/data/packagename.for.myapplication/myownso/armeabi-v7a/libtest.so" load segment[2]: p_offset (0x0) + p_filesz (0xd3ba58) ( = 0xd3ba58) past end of file (0x3a0000)

我可以确认崩溃设备CPU_ABI是armeabi-v7a。

他们为什么会这样?为什么这些错误发生在很少的设备上?

0 个答案:

没有答案