我的apk中有两个共享库,名称分别为 libX.so 和 libY.so 。 libX.so 需要名为 ZNSt6__ndk112basic_stringIwN4wc1614wchar16_traitsENS_9allocatorIwEEED1Ev 的特定函数,该函数在 libY.so 中定义。因此,我们在构建时将 libX.so 与 libY.so 链接。
我的应用程序首先加载 libY.so ,然后使用System.loadLibrary()加载 libX.so 。 libY.so 已正确加载。但是在加载 libX.so 时,应用程序因以下错误而崩溃
java.lang.UnsatisfiedLinkError:dlopen失败:无法找到libX.so引用的符号“ ZNSt6__ndk112basic_stringIwN4wc1614wchar16_traitsENS_9allocatorIwEEED1Ev”。
要调试该问题,我验证了以下内容
即使调试2天后,我也无法弄清楚出了什么问题。
请问有人是否有其他可能导致此问题的原因。
此外,如果您除了我上面提到的这两种技术之外,还知道如何调试此问题,请提出建议。
谢谢