社区
Android
帖子详情
在Android中如何使用system/lib下的库中的函数?
wdsr90
2012-03-16 11:09:05
在Android的system/lib目录下,有系统自带的一些动态库,如何可以使用这些库中已经定义好的函数呢?比如在libreference-ril.so中,有一个函数static void onRequest(),有没有什么方法可以在我通过jni写的C文件中调用这个函数呢?谢谢!
...全文
544
5
打赏
收藏
在Android中如何使用system/lib下的库中的函数?
在Android的system/lib目录下,有系统自带的一些动态库,如何可以使用这些库中已经定义好的函数呢?比如在libreference-ril.so中,有一个函数static void onRequest(),有没有什么方法可以在我通过jni写的C文件中调用这个函数呢?谢谢!
复制链接
扫一扫
分享
转发到动态
举报
写回复
配置赞助广告
用AI写文章
5 条
回复
切换为时间正序
请发表友善的回复…
发表回复
打赏红包
wdsr90
2012-03-19
打赏
举报
回复
嗯,这两天特地研究了一下如何引用链接库,在我博客写了篇文章,望指点,谢谢![Quote=引用 2 楼 undiif123 的回复:]
android.mk
LOCAL_LDLIBS := -llog -lz 像这样-l加库名称
如果没头文件
看是否可以动态调用
例如:
void (*ucnv_convert)(const char *,const char *, char * , int32_t , const char *, int32_t,int32_t*)=0;
void* pDL = dlopen("……
[/Quote]
wdsr90
2012-03-17
打赏
举报
回复
谢谢您的回复,特地了解了一下JNA技术,发现真的很实用[Quote=引用 3 楼 bluirdead 的回复:]
给LZ建议:不要用JNI过程与步骤太复杂,还容易出错。
可以使用JNA,我前几天刚问过这个问题,去看一下,很简单。
http://apps.hi.baidu.com/share/detail/31610125
[/Quote]
bluird
2012-03-16
打赏
举报
回复
给LZ建议:不要用JNI过程与步骤太复杂,还容易出错。
可以使用JNA,我前几天刚问过这个问题,去看一下,很简单。
http://apps.hi.baidu.com/share/detail/31610125
octopus666
2012-03-16
打赏
举报
回复
android.mk
LOCAL_LDLIBS := -llog -lz 像这样-l加库名称
如果没头文件
看是否可以动态调用
例如:
void (*ucnv_convert)(const char *,const char *, char * , int32_t , const char *, int32_t,int32_t*)=0;
void* pDL = dlopen("/system/lib/libicuuc.so", RTLD_LAZY);
ucnv_convert = (void (*)(const char *, const char *, char * , int32_t , const char *, int32_t,int32_t*))dlsym(pDL, "ucnv_convert_44");
ucnv_convert 就可以当函数使用了
zhuangfk
2012-03-16
打赏
举报
回复
在android.mk文件中加入
LOCAL_LDLIBS:= 相应的库名
找到相应的.h文件,将文件在想调用onRequest的文件里,包含进这个.h文件
然后就可以调用了
Android
底层技术:HAL驱动开发
本课程提供开发者学习
Android
底层的HAL(硬件抽象层)的开发方法和技术。HAL所在的位置是介于
Android
系统服务与Linux内核之间,HAL Driver是以
lib
rary形式出现,给HAL Stub调用,供
Android
System架构者调用。而HAL Stub则是google设计出来的,保护硬件厂商的硬件驱动。
Android
/system/
lib
底层
库
的调用
Android
/system/
lib
存放平台运行的
库
: 1.
android
编译的第三方so
库
可以直接存放到这个目录/system/
lib
。调用时可以在
android
.mk文件
中
直接加上 LOCAL_LD
LIB
S := -llog -lz 像这样-l加
库
名称,如果没头文件看是否可以动态调用。写个main()
函数
就可以直接调用so的接口了。 2.
使用
android
device monit
【
Android
逆向】
Android
进程注入工具开发 ( 注入代码分析 | 获取 远程 目标进程
中
的 /system/
lib
/
lib
c.so 动态
库
中
的 mmap
函数
地址 )
一、获取 远程 目标进程
中
的 /system/
lib
/
lib
c.so 动态
库
中
的 mmap
函数
地址、 二、从 /proc/pid/maps 文件
中
获取 指定 进程
中
的 /system/
lib
/
lib
c.so 动态
库
地址、 三、获取 本地进程
中
的 /system/
lib
/
lib
c.so 动态
库
的 mmap
函数
地址、 四、获取 远程进程
中
的 /system/
lib
/
lib
c.so 动态
库
的 mmap
函数
地址、
android
lib
core 分析,
Android
系统文件夹结构解析(五)--/system/
lib
/system/
lib
lib
目录
中
存放的主要是系统底层
库
,如平台运行时
库
。/system/
lib
/
lib
aes.so /system/
lib
/
lib
agl.so /system/
lib
/
lib
android
_runtime.so
Android
运行时
库
/system/
lib
/
lib
android
_servers.so 系统服务组件 /system/
lib
/
lib
audio.so 音频处理 /s...
android
/system/
lib
/ so
库
解析
1.
android
/system/
lib
/ so
库
解析2. 安卓系统源码编译系列(五)——so
库
的源码路径列表 .out_cm11
中
.so文件解析out_cm11\target\product\aries\system\
lib
|--
lib
android
.so (提供
Android
功能访问,源码位置:frameworks/base/native/
android
)|--
lib
android
_r...
Android
80,356
社区成员
91,290
社区内容
发帖
与我相关
我的任务
Android
移动平台 Android
复制链接
扫一扫
分享
社区描述
移动平台 Android
android
android-studio
androidx
技术论坛(原bbs)
社区管理员
加入社区
获取链接或二维码
近7日
近30日
至今
加载中
查看更多榜单
社区公告
暂无公告
试试用AI创作助手写篇文章吧
+ 用AI写文章