gpt4 book ai didi

Android L(5.0)在eclipse中不搜索 “armeabi”或 "armeabi-v7a"文件夹(UnsatisfiedLinkError)中的原生库

转载 作者:行者123 更新时间:2023-11-29 15:57:38 26 4
gpt4 key购买 nike

我的应用程序使用 2 个 native 库,我们称它们为 LibA.so 和 LibB.so。以前,我的应用程序在 kitkat OS 下运行良好,没有任何问题。

现在它在带有 OS 5.0(lollipop) 的 Nexus 5 中给出 UnsatisfiedLinkError两个 .so 库都在 armeabi 文件夹中。

所以请给我通用的解决方案文件夹结构。

我对 android 中的 native 库相当陌生。提前致谢!

更新:它现在工作正常。通过将我的 LibA.so 文件链接更改为 Md5_init 相关调用获得了解决方案。在 Os 5.0 中,谷歌对系统库调用进行了一些更改谢谢大家的支持

最佳答案

根据您的错误描述,我可以看到库 LibA.so 未加载,因为它使用了一些不可用的 MD5 代码 - 未链接。例如,您可以使用其他在构建期间链接了 MD5 源的 native 共享库(作为共享库)- 但您没有将此共享库复制到目标应用程序 libs 文件夹。

我不确定最近的 Android NDK 中是否包含 MD5 相关函数的实现。也可能它是以前版本的某些 android 系统共享库的一部分,并且已从 Android L 中删除。

因此您需要检查 C++/C 代码对 MD5 相关函数的引用,并找到存储/链接源的位置。

我可能会提供从 libc.so 导出的函数列表的链接,例如 android-17 和 android-L: Android-17 LIBC functions对比Android-L LIBC functions

而且您可能还会看到 - MD5 相关函数在 L 的共享库中不存在 - 所以我相信您必须将这些功能 (MD5) 的源代码包含到您的动态库中。

关于Android L(5.0)在eclipse中不搜索 “armeabi”或 "armeabi-v7a"文件夹(UnsatisfiedLinkError)中的原生库,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/27119623/

26 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com