java.lang.UnsatisfiedLinkError:findLibrary返回null - RARELY

时间:2014-12-13 02:12:10

标签: android android-ndk java-native-interface

*请不要回答有关基本JNI和共享库的教程。它很快就会发生!!

我与findLibrary returned null happened sometimes有类似的问题。 但它很少发生。

java.lang.UnsatisfiedLinkError:无法加载xxxx:findLibrary返回null

我从来没有在我的设备上看过它 - 有各种Android版本的12个设备。 仅在崩溃报告中显示。

我认为这可能是Android上的软件包安装程序的错误,因为我甚至看到一些崩溃报告显然在apk中包含的xml文件中有FileNotFoundException!

但我不确定。 有没有人有正确答案?

1 个答案:

答案 0 :(得分:1)

您是否有关于应用程序面临此问题的设备的更多信息?设备型号/ Android版本?您使用的是哪个版本的NDK?

这里的问题是Cannot load library: link_image[1935]: 1299 missing essential tables。 这意味着Bionic链接器无法加载您的库或其中一个依赖项,因为它缺少 .strtab .symtab 部分。

您可以使用 readelf 或我的Android应用程序检查您的libs的依赖项和符号:https://play.google.com/store/apps/details?id=com.xh.nativelibsmonitor.app&hl=en

可能目标系统上没有列出的某个依赖项(位于库的 DT_NEEDED 部分中)或已从其符号中删除。如果您直接使用不属于NDK的系统库,可能会发生这种情况。