未在Android上加载共享库

时间:2016-09-12 10:47:22

标签: android c++ qt shared-libraries

我想在我的应用程序中使用MediaInfo库。为Android编译它并不容易,但我找到了已编译的二进制版本here

我使用QtCreator开发我的应用程序并构建安装APK。在Windows上一切正常。但如果我在Android上试用它,我首先会在启动应用程序时遇到此错误:

  

D / dalvikvm(3296):尝试加载lib / data / app-lib / org.qtproject.muzika-2 / libmediainfo.so 0xb3d087b0

     

E / linker(3296):“libmediainfo.so”:忽略共享库中的2项DT_PREINIT_ARRAY!

     

D / dalvikvm(3296):添加了共享的lib / data / app-lib / org.qtproject.muzika-2 / libmediainfo.so 0xb3d087b0

     

D / dalvikvm(3296):在/data/app-lib/org.qtproject.muzika-2/libmediainfo.so中找不到JNI_OnLoad 0xb3d087b0,跳过init

但至少看起来这个库被发现了。但如果我尝试实际使用它,我总会得到这个输出:

  

D / libMuzika.so(3296):( null):0((null)):“无法加载libmediainfo.so”

我确实相信错误消息来自header file of this library。由于某种原因,库未加载。但我无法弄清楚原因。

我怎样才能找出问题所在?

1 个答案:

答案 0 :(得分:2)

我的解决方案是黑客。

1。从Here下载Mediainfo应用。

2。使用WinZip打开APK文件。

3。解压缩libs文件夹中的文件。

4。根据您的体系结构选择libmediainfo.so。

5。使用此库代替this

这个lib为我工作。

也许有帮助。