日期:2014-05-16  浏览次数:20813 次

Android System.loadlibrary失败
我使用了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几天,还不太会,就遇到这种问题。。。先谢谢大家了 
 
 

------解决方案--------------------
不太懂,关注下,jni确实很麻烦。
------解决方案--------------------
引用 "我使用了Android源码里的 libmedia.so"

有没可能是 libmedia.so 没有加载进去.


------解决方案--------------------
楼主的问题解决了没?
我也遇到同样的问题
我在android2.1下启动模拟器会出现,Cannot load library: reloc_library[1244]:    30 cannot locate '_ZN7android17StagefrightPlayerC1Ev'...
但是在android2.3下同样的程序启动正常