我想了解Qt如何在Android上运行?我知道Qt
适用于移动应用程序。 Qt 有很多模块(例如 Qt Sensors
、 Qt Bluetooth
、 Qt AndroidExtras
)。 Qt 原生适用于移动设备,但我们可以调用 Android SDK Java codes
来自 Qt/C++。那么,如何从 Qt for Android 运行 Java 代码呢? Java VM可以在Qt后台运行吗?如何在 Qt 中运行 Java 代码?这份工作的逻辑是什么?
Qt 正在使用QtAndroidExtras
调用 Android 的 Java 代码。但我想使用纯jni(带有jni.h文件)调用Android的Java代码。因为我想使用 Qt 和 FireMonkey 的 jni 代码。所以,我想知道Java代码如何在没有QtAndroidExtras
的情况下在Qt中运行。我的简短问题:我想写一个像 QtAndroidExtras
这样的模块,此模块适用于 Android。它用于从 C++ 调用 Android SDK 类(或 Java 代码)。我该怎么做?
谢谢。
最佳答案
要在 Qt Android 应用程序中运行 Java 代码,您应该使用 Qt Android Extras包含用于 Android 开发的附加功能的模块。
您可以使用 JNI 从 Qt 调用 Java 函数或从 Java 回调 Qt 函数。
bool retVal = QAndroidJniObject::callStaticMethod<jint>
("com/MyApp/JavaClass" // class name
, "SomeMethod" // method name
, "(I)I" // signature
, val);
关于java - Qt 如何在 Android 上运行?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/41704493/