android - 使用 dlopen 和替换函数加载没有完整路径的本机库
问题描述
我目前使用 dlopen 本机函数打开本机库(so 文件)。
handle = dlopen(libPath, RTLD_LAZY);
我使用库的完整路径。不幸的是,对于新的应用程序包安装(abb 文件),无法获取 lib 的路径。有人找到解决方法了吗?
谢谢, 伊莱
解决方案
dlopen
使用SONAME
图书馆的。dlopen("libmylib.so", ...)
不需要绝对路径。如果这不起作用,那么您的库构建不正确,应该按照https://stackoverflow.com/a/48291044/632035进行修复。
推荐阅读
- c - 预期 'const csim_stats_t * {aka const struct
*}' 但参数的类型为 'csim_stats_t * {aka struct *}' - ruby-on-rails - 更新表单时的 ActiveRecord::AssociationTypeMismatch
- html - 汉堡按钮在点击时移动
- flutter - 浏览 dart 中的嵌套字典
- python-3.x - 使用 Python 和 Google API 编辑事件颜色
- python - 将路径添加到 PATH 环境变量不起作用
- react-native - 三元运算符中使用的“OnPress”非功能性
- python - 无法导入模块
- javascript - 从 pdfjs 获取所选文本或 pdfelement 的 pdf 点(x,y 坐标)
- xslt-1.0 - 按值对 XSLT 元素进行分组 (XSLT 1.0)