Qt c++ java android 相互调用
在这纠正 foruok 这个SB 的教程
java调用QT-----------------------------------------------------------------------------------------------------------------------------
** Java QtActivity 代码**
public static native int sendVideoData(long unused, byte[] data, int len, long timestamp);
public static native int sendCh340xData(byte[] data, int len);
c++ 导出函数
qt 会生成 so 文件 直接导出 只要导出函数签名一致 java 就能 调用 不需要调用 System.loadLibrary("")
#if defined(Q_OS_ANDROID)
#include <jni.h>
#ifdef __cplusplus
extern "C" {
#endif
JNIEXPORT jint JNICALL
Java_org_qtproject_qt5_android_bindings_QtActivity_sendCh340xData(
JNIEnv *env, jclass type,
jbyteArray data_, jint len)
{
jbyte *data = env->GetByteArrayElements(data_, NULL);
QByteArray buff;

这篇博客纠正了关于Qt与Java Android相互调用的误解,指出Qt会生成SO文件,只要导出函数签名一致,Java即可直接调用,无需使用System.loadLibrary()加载库。同时,文中还介绍了Qt调用Java的方法。
最低0.47元/天 解锁文章
1万+

被折叠的 条评论
为什么被折叠?



