永发信息网

某个android的.so文件的方法应该如何在别的android程序中调用?

答案:2  悬赏:60  手机版
解决时间 2021-02-01 13:16
某个android的.so文件的方法应该如何在别的android程序中调用?
最佳答案
假设你的library文件名是libmylibrary.so。
如果你的libmylibrary.so文件是在系统library的路径中(比如/system/lib, /system/vendor/lib等目录), 使用以下方法调用:

System.loadLibrary("mylibrary");

如果你的libmylibrary.so文件不再系统路径中, 比如/data/data/com.company.example/libmylibrary.so,使用以下方法调用(用绝对路径):

System.load("/data/data/com.company.example/libmylibrary.so");

如果以上两条路均不通, 使用终极大法,在native code中

#include

然后,使用dlopen()函数load library,然后用dlsym()映射想要的函数入口,然后调用想要的函数。
全部回答
so文件是unix的动态连接库,是二进制文件,作用相当于windows下的.dll文件。 补充: 在android中调用动态库文件(*.so)都是通过jni的方式。 android中加载so文件的提供的api: void system.load(string pathname); 说明:pathname:文件名+文件路径;
我要举报
如以上问答信息为低俗、色情、不良、暴力、侵权、涉及违法等信息,可以点下面链接进行举报!
大家都在看
道之丹钙离子对眼睛有好处吗
天天快递(002县道与006乡道交叉口东150米天天
永强物流(芙蓉街50号附近永强物流)地址在哪,
以风花雪月为题的七言绝句
假定主动土压力为50kN/m,挡土墙的抗倾覆稳
阅读茅于轼迷路小故事的短文答案。
江神子的意思是什么啊?知道的请说下!
我的年龄20050207请问有什么不一样吗?
关于电吉他的啸叫问题求解
圆通速递寄件点(文化路与谷阳路交叉口东150米
关于集团电话的问题
两个字都是第一声,应怎样读
韵达快递(207省道中国联通对面)地址好找么,
谁知道江左郡谢氏的来历吗?
天津津南区小站镇小站工业园区米2号路23h立方
推荐资讯
行唐的意思是什么啊?知道的请说下!
飞龙豪门练歌地址好找么,我有些事要过去
现在韩国的硬币500的值人民币多少线?
办香港工作签必须有离职证明吗?
【两尺三是多少厘米】2尺3是多少厘米?
武昌区武汉雅迪电动车(四美塘店)怎么去啊,谁
等式逻辑腰是什么意思
如何查看linux系统的所有用户的定时任务
魔兽世界配置网速都没问题帧数忽高忽低有时候
战旗直播上一直有Adobe flash对话框
篮球有哪几种团队防守方式?
快乐十分福彩体彩地址有知道的么?有点事想过
正方形一边上任一点到这个正方形两条对角线的
阴历怎么看 ?