2

希望你能在这里帮助我。我设法创建了我的本地活动项目并将其打包。在 libs 文件夹中,我有一个在本机活动中动态加载(dlopen)的共享库。我知道包库被复制到:/data/data/packagename/lib 但是如何使用 dlopen 访问它?那可能吗?我以为我可以只使用本地文件夹名称来访问它,例如:./libMySharedLibrary,因为它们都在 APK/libs 子文件夹中。有谁如何获得正确的文件夹名称或如何访问这些共享库?

4

1 回答 1

1

动态链接器已经知道你的包私有库 - 只需传递 basename 就可以了:

dlopen("libawesome.so", RTLD_LAZY);

PS 为避免意外,您应该确保您的库名称是唯一的并且不会与系统名称冲突(这些名称位于/system/liband /vendor/lib,还检查lib6464 位设备上的目录)。

于 2016-07-30T19:42:36.207 回答