Android System.loadlibrary失败,

easycodingTop 2011-08-26 02:02:47
我使用了Android源码里的 libmedia.so,

我使用类
AudioTrack* at = new AudioTrack();
at->Set(...)
at->start()
at->write()
-------------生成了一个libplayctl.so

我在.java文件里调用 system.loadlibrary("playctl")时,
logcat里输出 Couldn't load lib: playctl - Cannot load library: reloc_library[1311]: 33 cannot locate '_ZN7android10AudioTrack***set***'...这样的错误,应该是说 AudioTrack::set有问题。

于是我把 at->set(..)删掉, system.loadlibrary("playctl")就成功了,
于是我就调用了一个带参数的 new AudioTrack(参数)的构造方法,它里面自己调用了set方法,于是仍然会提示这样的错误,就是说 这个set方法只要这调用,就 load失败,不知道是怎么回事,花了很长时,也没找到原因,我才接触NDK几天,还不太会,就遇到这种问题。。。先谢谢大家了
...全文
2203 9 打赏 收藏 转发到动态 举报
写回复
用AI写文章
9 条回复
切换为时间正序
请发表友善的回复…
发表回复
三年前明媚天 2013-03-02
  • 打赏
  • 举报
回复
我也遇到同样的错误,问一下楼主解决了吗????
luciferisnotsatan 2011-08-26
  • 打赏
  • 举报
回复
[Quote=引用 7 楼 fatherhui 的回复:]

第一次发贴,都不知道应该在哪发
符号是有的,因为编译链接成功了,只是在java层调load时失败。
[/Quote]
去java版问问看
easycodingTop 2011-08-26
  • 打赏
  • 举报
回复
第一次发贴,都不知道应该在哪发
符号是有的,因为编译链接成功了,只是在java层调load时失败。
healer_kx 2011-08-26
  • 打赏
  • 举报
回复
要不楼主去Linux版问问。
luciferisnotsatan 2011-08-26
  • 打赏
  • 举报
回复
那看看那个库的导出符号里有没有
'_ZN7android10AudioTrack***set***'
easycodingTop 2011-08-26
  • 打赏
  • 举报
回复
路径没问题的,只要我不调用AudioTrack::set函数,是可以Loadlibrary成功的,构造使用无参的,
如果构造使用有参的,它内部就会调用set,也会出现一样的问题
ryfdizuo 2011-08-26
  • 打赏
  • 举报
回复
是不是路径的问题。
wintree 2011-08-26
  • 打赏
  • 举报
回复
android 底层 我真不知道怎么回事!!!!!!帮顶了!

64,639

社区成员

发帖
与我相关
我的任务
社区描述
C++ 语言相关问题讨论,技术干货分享,前沿动态等
c++ 技术论坛(原bbs)
社区管理员
  • C++ 语言社区
  • encoderlee
  • paschen
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
  1. 请不要发布与C++技术无关的贴子
  2. 请不要发布与技术无关的招聘、广告的帖子
  3. 请尽可能的描述清楚你的问题,如果涉及到代码请尽可能的格式化一下

试试用AI创作助手写篇文章吧