某个android的.so文件的方法应该如何在别的android程序中调用?
1个回答
2016-04-22
展开全部
假设你的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 <dlfcn.h>
然后,使用dlopen()函数load library,然后用dlsym()映射想要的函数入口,然后调用想要的函数。
如果你的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 <dlfcn.h>
然后,使用dlopen()函数load library,然后用dlsym()映射想要的函数入口,然后调用想要的函数。
推荐律师服务:
若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询