Warning: file_get_contents(/data/phpspider/zhask/data//catemap/8/qt/7.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Qt 5.14.2-在Android项目中未找到Java类异常_Java_Qt_Qtandroidextras - Fatal编程技术网

Qt 5.14.2-在Android项目中未找到Java类异常

Qt 5.14.2-在Android项目中未找到Java类异常,java,qt,qtandroidextras,Java,Qt,Qtandroidextras,我无法告诉QtCreator编译Java文件(如果我在Java文件中放入随机单词,项目将继续编译)。 结果是,在运行时,我尝试从C++调用类,它给了我CyrNoNojdExcPutto. 这是我的.pro文件 TEMPLATE = app QT += quick android { QT += androidextras } CONFIG += c++11 qtquickcompiler CONFIG -= debug_and_release RESOURCES += resource

我无法告诉QtCreator编译Java文件(如果我在Java文件中放入随机单词,项目将继续编译)。 结果是,在运行时,我尝试从C++调用类,它给了我CyrNoNojdExcPutto.</P> 这是我的.pro文件

TEMPLATE = app

QT += quick
android {
  QT += androidextras
}

CONFIG += c++11 qtquickcompiler
CONFIG -= debug_and_release

RESOURCES += resources.qrc

DEFINES += QT_DEPRECATED_WARNINGS

#DEFINES += QT_DISABLE_DEPRECATED_BEFORE=0x060000    # disables all the APIs deprecated before Qt 6.0.0

# Default rules for deployment.
qnx: target.path = /tmp/$${TARGET}/bin
else: unix:!android: target.path = /opt/$${TARGET}/bin
!isEmpty(target.path): INSTALLS += target

HEADERS += \
    android_gps_device.hpp

SOURCES += \
    main.cpp \
    android_gps_device.cpp

DISTFILES += \
    android/AndroidManifest.xml \
    android/gradle/wrapper/gradle-wrapper.jar \
    android/gradlew \
    android/res/values/libs.xml \
    android/build.gradle \
    android/gradle/wrapper/gradle-wrapper.properties \
    android/gradlew.bat \
    android/src/me/mycompany/gps/GpsDevice.java

contains(ANDROID_TARGET_ARCH,armeabi-v7a) {
    ANDROID_PACKAGE_SOURCE_DIR = \
        $$PWD/android
}
这是我的java文件:

package me.mycompany.gps;

import android.content.Context;
import android.location.LocationManager;

public class GpsDevice {
  static boolean isEnabled(Context context) {
    try {
      LocationManager locationManager = (LocationManager)getSystemService(LOCATION_SERVICE);
      return locationManager.isLocationEnabled();
    }
    catch(Exception e) {
      return false;
    }
  }
}

这是C++的一面:

#include <QtAndroid>
#include "android_gps_device.hpp"

AndroidGpsDevice::AndroidGpsDevice()
{
}

bool AndroidGpsDevice::enabled() const
{
  bool res = QAndroidJniObject::callStaticMethod<jboolean>("me/mycompany/gps/GpsDevice",
                                                           "isEnabled",
                                                           "(Landroid/content/Context;)Z",
                                                           QtAndroid::androidContext().object());

  return res;
}
#包括
#包括“android\u gps\u device.hpp”
AndroidGpsDevice::AndroidGpsDevice()
{
}
bool AndroidGpsDevice::enabled()常量
{
bool res=QAndroidJniObject::callStaticMethod(“me/mycompany/gps/GpsDevice”,
“我被逮捕”,
“(Landroid/content/Context;)Z”,
QtAndroid::androidContext().object());
返回res;
}
我做错了什么? 多谢各位