*请不要回答有关基本JNI和共享库的教程。它很快就会发生!!
我与findLibrary returned null happened sometimes有类似的问题。 但它很少发生。
java.lang.UnsatisfiedLinkError:无法加载xxxx:findLibrary返回null
我从来没有在我的设备上看过它 - 有各种Android版本的12个设备。 仅在崩溃报告中显示。
我认为这可能是Android上的软件包安装程序的错误,因为我甚至看到一些崩溃报告显然在apk中包含的xml文件中有FileNotFoundException!
但我不确定。 有没有人有正确答案?
答案 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的系统库,可能会发生这种情况。