首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >JNI_OnLoad返回了坏版本(-1)

JNI_OnLoad返回了坏版本(-1)
EN

Stack Overflow用户
提问于 2014-08-12 11:00:44
回答 1查看 7.3K关注 0票数 6

我试图在我的安卓应用程序中加载Qt5Core库,我得到了以下内容:

代码语言:javascript
复制
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!

EN

回答 1

Stack Overflow用户

发布于 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“文件夹中即可。

票数 7
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/25262603

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档