gpt4 book ai didi

java - 未找到 android 项目中的 native 库(UnsatisfiedLinkError)

转载 作者:行者123 更新时间:2023-11-30 01:26:27 25 4
gpt4 key购买 nike

我有一个 android 项目,我添加了一个外部 .jar 文件,其中包含几个 .class 文件以及一些 .so 文件。

当我尝试使用 .class 文件提供的一些方法时,我得到一个 UnsatisfiedLinkError-Exception,它表示找不到这些方法的实现。

很明显,问题是包含实现的.so 库未正确加载/找不到。

我必须做什么才能从运行时找到外部 .jar 文件中的 native 库?


更多详情:

我使用的是 AndroidStudio,该应用已在设备“Nexus 5 API 23 x86”的模拟器上进行了测试。 .so 文件也支持 x86。

我将 .jar 文件复制到 /app/libs 文件夹中。然后我在 IDE 中右键单击该文件并选择“添加为库”。

enter image description here

最佳答案

如您所见,崩溃表明它无法加载 native 库。但是为什么?

enter image description here

首先我检查了我的结构,如果 native 库 .so 文件定位正确。

除了这个疯狂的错误外,似乎一切正常。

然后经过一些研究,我发现一些安卓设备有 64 位处理器。

此设备生成并检查 arm64 文件夹以加载 native 库。这就是问题所在。因为我的项目没有arm64文件夹。

这是解决方案;

defaultConfig{
ndk {
abiFilters "armeabi-v7a", "x86", "armeabi", "mips"
}
}

关于java - 未找到 android 项目中的 native 库(UnsatisfiedLinkError),我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/36362082/

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