Qt 5.14.2-在Android项目中未找到Java类异常
我无法告诉QtCreator编译Java文件(如果我在Java文件中放入随机单词,项目将继续编译)。 结果是,在运行时,我尝试从C++调用类,它给了我CyrNoNojdExcPutto.</P> 这是我的.pro文件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
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;
}
我做错了什么?
多谢各位