我想使用MediaInfo我的应用程序中的库。为Android编译它并不容易,但我找到了一个已经编译的二进制版本here .
我使用 QtCreator 来开发我的应用程序并构建安装 APK。在 Windows 上一切都运行良好。但如果我在 Android 上尝试,我会在启动应用程序时首先收到此错误:
D/dalvikvm( 3296): Trying to load lib/data/app-lib/org.qtproject.muzika-2/libmediainfo.so 0xb3d087b0
E/linker ( 3296): "libmediainfo.so": ignoring 2-entry DT_PREINIT_ARRAY in shared library!
D/dalvikvm( 3296): Added shared lib/data/app-lib/org.qtproject.muzika-2/libmediainfo.so 0xb3d087b0
D/dalvikvm( 3296): No JNI_OnLoad found in /data/app-lib/org.qtproject.muzika-2/libmediainfo.so 0xb3d087b0, skipping init
但至少看起来该库已被加载。但如果我尝试实际使用它,我总是得到这样的输出:
D/libMuzika.so( 3296): (null):0 ((null)): "Unable to load libmediainfo.so"
我确实相信错误消息来自 header file of this library 。由于某种原因,该库未加载。但我不明白为什么。
如何找出问题所在?
最佳答案
我的解决方案是黑客。
1.从Here下载Mediainfo应用程序.
2.使用WinZip打开APK文件。
3.解压libs文件夹中的文件。
4.根据您的架构选择libmediainfo.so。
5.使用此库代替 this .
这个库对我有用。
也许有帮助。
关于android - Android 上未加载共享库,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/39448593/