binary and source compatibility breakage in 6.7
Solved
General and Desktop
-
The return type of QAndroidApplication::context() changed in Qt6.7. Is the line below for Qt6.0 to pre 6.7 abusing the api? or did Qt break their version policy?
#if QT_VERSION < QT_VERSION_CHECK(6, 0, 0) QAndroidJniObject nsdManager = QAndroidJniObject("qtzeroconf/QZeroConfNsdManager", "(JLandroid/content/Context;)V", reinterpret_cast<quint64>(this), QtAndroid::androidActivity().object()); #elif (QT_VERSION < QT_VERSION_CHECK(6, 7, 0)) // either this line abuses the Qt api or Qt broke their version policy in 6.7 QJniObject nsdManager = QAndroidJniObject("qtzeroconf/QZeroConfNsdManager", "(JLandroid/content/Context;)V", reinterpret_cast<quint64>(this), QNativeInterface::QAndroidApplication::context()); #else QJniObject nsdManager = QAndroidJniObject("qtzeroconf/QZeroConfNsdManager", "(JLandroid/content/Context;)V", reinterpret_cast<quint64>(this), QNativeInterface::QAndroidApplication::context().object<jobject>()); #endif
-
See https://bugreports.qt.io/browse/QTBUG-123900 - "QNativeInterface which doesn't provide source compatibility."
-