sách gpt4 ai đã đi

java - 如何从另一个 native 库 (.so) 加载 native 库 (.so)?

In lại 作者:行者123 更新时间:2023-12-02 11:40:46 31 4
mua khóa gpt4 Nike

所以,我现在的代码就像从 Java 层加载库(比如 liba.so),并在内部 liba.so 加载 libb.so。因此,如果我必须将所有库打包到 APK 中并将其安装在没有 root 访问权限的设备上,那么构建我的项目的过程是什么,其中来自 Java 层的一个加载调用将加载这两个库,第一个是 liba。 so(直接调用)然后libb.so(第二次调用,嵌套调用,从liba.so调用)?

1 Câu trả lời

如果 liba.so 和 libb.so 都打包到您的 APK 中,则安装程序会将两者解压到 nativeLibraryDir .

在 Java 中,loadLibrary() 将自动查找此目录。但 dlopen() 不知道这条路径。您必须向 dlopen() 提供已安装的 libb.so 的完整路径。

或者,您可以从 Java 加载 libb,然后它将在内存中,并且 liba 将在不使用 dlopen() 的情况下找到它的导出符号。

如果您需要更好地了解将库打包到APK中的过程,请参阅this wonderful answer .

关于java - 如何从另一个 native 库 (.so) 加载 native 库 (.so)?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/48579189/

31 4 0
行者123
Hồ sơ cá nhân

Tôi là một lập trình viên xuất sắc, rất giỏi!

Nhận phiếu giảm giá Didi Taxi miễn phí
Mã giảm giá Didi Taxi
Giấy chứng nhận ICP Bắc Kinh số 000000
Hợp tác quảng cáo: 1813099741@qq.com 6ren.com