JNI_OnLoad返回错误的版本(-1)。

 2023-01-20    324  

问题描述

我正在尝试在我的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)

这是我尝试加载它的方式:

JNI_OnLoad返回错误的版本(-1)。

system.loadlibrary(s);

其中” S”是一个包含多个库名称的数组.其他库正确加载了.

欢迎任何想法!


编辑

所以我先得到这个:

d/dalvikvm(11445):尝试加载lib
/data/app-lib/com.xxx.yyy/libqt5core.so 0x426666fd8
d/dalvikvm(11445):添加了共享lib
/data/app-lib/com.xxx.yyy/libqt5core.so 0x426666fd8

e/librariesloader(11445):无法加载库:QT5Core由于链接而引起
错误的JNI_ERR从JNI_ONLOAD中返回
“/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”文件夹中.

以上所述是小编给大家介绍的JNI_OnLoad返回错误的版本(-1)。,希望对大家有所帮助,如果大家有任何疑问请给我留言,小编会及时回复大家的。在此也非常感谢大家对77isp云服务器技术网的支持!

原文链接:https://77isp.com/post/25960.html

=========================================

https://77isp.com/ 为 “云服务器技术网” 唯一官方服务平台,请勿相信其他任何渠道。