Я делаю простой пример, чтобы связать мой проект qt android с файлом java.Однако после всех упомянутых изменений онлайн QT не может найти файл Java.Я сохранил Java-файл в корневом каталоге.
MainWindow::MainWindow(QWidget *parent) :
QMainWindow(parent),
ui(new Ui::MainWindow) {
ui->setupUi(this);
NetworkConnectionObject = new NetworkConnection();
QAndroidJniObject::callStaticMethod<jint>
("OrientationChanger" // class name
, "change" // method name
, "(I)I" // signature
, 1); // setScreenOrientation(1); }
Java-файл
public class OrientationChanger
{
public static int change(int n)
{
switch(n)
{
case 0:
setRequestedOrientation (ActivityInfo.SCREEN_ORIENTATION_LANDSCAPE);
break;
case 1:
setRequestedOrientation (ActivityInfo.SCREEN_ORIENTATION_PORTRAIT);
break;
}
}
}
, а pro-файл
QT += core gui network androidextras
greaterThan(QT_MAJOR_VERSION, 4): QT += widgets
TARGET = AndroisShop
TEMPLATE = app
DEFINES += QT_DEPRECATED_WARNINGS
CONFIG += c++11
SOURCES += \
main.cpp \
mainwindow.cpp \
secondscreen.cpp \
networkconnection.cpp \
shoppingcardconnection.cpp
HEADERS += \
mainwindow.h \
secondscreen.h \
networkconnection.h \
shoppingcardconnection.h
FORMS += \
mainwindow.ui \
secondscreen.ui
CONFIG += mobility
MOBILITY =
# Default rules for deployment.
qnx: target.path = /tmp/$${TARGET}/bin
else: unix:!android: target.path = /opt/$${TARGET}/bin
!isEmpty(target.path): INSTALLS += target
DISTFILES += \
OrientationChanger.java
Похоже, проблема в том, чтосо связыванием файла Java в файле проекта, но не знаю, в чем проблема.
Ошибка
W/System.err(16145): java.lang.ClassNotFoundException: Didn't find class "OrientationChanger" on path: