我试图在我的安卓应用程序中加载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)这就是我尝试加载它的方式:
System.loadLibrary(s);
其中"s“是一个包含多个库名的数组。其他库已正确加载。
任何想法都欢迎!
编辑
所以我要先得到这个:
D/dalvikvm(11445):尝试加载lib /data/app-lib/com.xxx.yyy/libQt5Core.so 0x42666fd8 D/dalvikvm(11445):添加了共享lib /data/app-lib/com.xxx.yyy/libQt5Core.so 0x42666fd8E/ library LibrariesLoader(11445):未能加载库: Qt5Core由于链接错误JNI_ERR从"/data/app-lib/com.xxx.yyy/libQt5Core.so“中从JNI_OnLoad返回: java.lang.UnsatisfiedLinkError: JNI_ERR在”/data/app/com.xxx.yyy/libQt5Core.so“中从JNI_OnLoad返回
...then还有另一个库,它加载时没有任何错误/警告。该库以Qt5Core.so作为依赖项。
我已经调查过了,我得到这个JNI_ERR是因为下面的代码:
if (vm->GetEnv(&uenv.venv,JNI_VERSION_1_6) != JNI_OK) 返回JNI_ERR;
我使用的JNI版本是1.6!
发布于 2014-09-15 20:50:31
QtCore的JNI_OnLoad在启动时加载一个名为"QtNative“的活动,如果找不到,则返回JNI_ERR。
QtNative是在“QtAndrod-bundled.jar”中定义的。您可以在QT5.3SDK文件夹中找到它:Qt5/5.3/android_armv7/jar/QtAndroid-bundled.jar
只需将此添加到项目的"libs“文件夹中即可。
https://stackoverflow.com/questions/25262603
复制相似问题