我试图在我的 Android 应用程序中加载 Qt5Core 库,我得到了这个:
JNI_OnLoad returned bad version (-1) in /data/data/com.xxx.yyy/lib/libQt5Core.so 0x41a8f3c0
Failed to load library : Qt5Core due to link error unknown failure
java.lang.UnsatisfiedLinkError: unknown failure
at java.lang.Runtime.loadLibrary(Runtime.java:370)
这就是我尝试加载它的方式:
系统.loadLibrary(s);
其中“s”是包含多个库名称的数组。其他库已正确加载。
欢迎任何想法!
EDIT
所以我首先得到这个:
D/dalvikvm(11445):尝试加载 lib
/data/app-lib/com.xxx.yyy/libQt5Core.so 0x42666fd8
D/dalvikvm(11445):添加了共享库
/data/app-lib/com.xxx.yyy/libQt5Core.so 0x42666fd8
E/LibrariesLoader(11445):由于链接而无法加载库:Qt5Core
从 JNI_OnLoad 返回的错误 JNI_ERR
“/data/app-lib/com.xxx.yyy/libQt5Core.so”
E/LibrariesLoader(11445): java.lang.UnsatisfiedLinkError: JNI_ERR
从“/data/app-lib/com.xxx.yyy/libQt5Core.so”中的 JNI_OnLoad 返回
...然后还有另一个库加载时没有任何错误/警告。该库有 Qt5Core.so 作为依赖项。
我已经调查过,由于以下代码,我得到了这个 JNI_ERR :
if (vm->GetEnv(&uenv.venv, JNI_VERSION_1_6) != JNI_OK)
返回JNI_ERR;
我使用的JNI版本是1.6!!!!
QtCore 的 JNI_OnLoad 在启动时加载一个名为“QtNative”的活动,如果找不到则返回 JNI_ERR。
QtNative 在“QtAndroid-bundled.jar”中定义。您可以在 QT 5.3 SDK 文件夹中找到它:Qt5/5.3/android_armv7/jar/QtAndroid-bundled.jar
只需将其添加到项目的“libs”文件夹中即可。
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)