gpt4 book ai didi

android - 在另一个 JNI 库中加载 JNI 库崩溃

转载 作者:行者123 更新时间:2023-11-30 03:44:19 28 4
gpt4 key购买 nike

我本质上是在尝试遵循描述的 SO 解决方案 here , 但我遇到了问题。

这基本上就是我在 JNI 库中所做的事情:

handle = dlopen("/data/data/lib/my.package/lib/myLibrary.so", RTLD_LAZY);
myFunctionName = (func)dlsym(handle, "main");
(*myFunctionName)(numberOfArgs, arguments);

问题是上面只有在

System.loadLibrary("myLibrary")

从调用 JNI 的同一 Java 代码调用。但这显然违背了通过 dlopen 加载库的目的。

我从 LocCat 得到的就是

A/libc(29472): Fatal signal 11 (SIGSEGV) at 0x00000000 (code=1)

出了什么问题?与 myLibrary.so 的构建参数有关吗?

最佳答案

在使用 dlerror() 诊断问题后,我实际上发现 dlopen 失败了。原来路径错了。应该是:

handle = dlopen("/data/data/my.package/lib/myLibrary.so", RTLD_LAZY);

关于android - 在另一个 JNI 库中加载 JNI 库崩溃,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/15244333/

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