QtLocation / Android中的错误? JNI_OnLoad从未调用过 - >在nullpointer访问时崩溃

时间:2017-02-18 11:18:56

标签: android c++ qt android-ndk location

我一直在调查Qt5/Android/Location issue并找到了一个无效指针访问权限,这让我觉得使用Qt5的GPS无法在任何机器上运行。

在我尝试运行的情况下

auto source = QGeoPositionInfoSource::createDefaultSource(this);

AttachedJNIEnv::AttachedJNIEnv()(Qt5来源)中定义的方法src/plugins/position/android/src/jnipositioning.cpp因以下调用而崩溃:

if (javaVM->GetEnv((void**)&jniEnv, JNI_VERSION_1_6) < 0) {

在我尝试过的至少三款设备上,javaVMNULL,因此我非常确定这不仅仅是我设备的问题。

javaVM是一个全局指针(真可惜......),而应该获取Q_DECL_EXPORT jint JNICALL JNI_OnLoad(JavaVM *, void *)中定义的jnipositioning.cpp中的值

我现在的问题是:

显然这是Qt5中的一个错误,我会做一个错误报告。但与此同时,我希望通过某种修复/解决方法来定位。 那么JNI_OnLoad()不被召唤的原因是什么?我忘了以某种方式初始化Qt::Location?谁应该致电JNI_OnLoad()?我能以某种方式手动完成吗?

更新

我现在报告了Qt bug

0 个答案:

没有答案