Details
-
Bug
-
Resolution: Duplicate
-
P1: Critical
-
5.15.12
-
None
Description
Qt 5 declares that it supports API level >= 21, this is also seen in qtbase/configure.pri:
platform = $$eval(config.input.android-ndk-platform) isEmpty(platform): \ platform = android-21
but the change https://code.qt.io/cgit/qt/qtbase.git/commit/src/android/jar/src/org/qtproject/qt5/android/QtLayout.java?h=v5.15.12-lts-lgpl&id=45b98e1ac708faa6c7e6f5bd26e23cc0e408b4e0 added method getRootWindowInsets() which is available only from API level 23, see android docs: https://developer.android.com/reference/android/view/View#getRootWindowInsets()
Hence apps running on devices with API level < 23 crash on start:
01-08 14:41:59.996 E/AndroidRuntime(10000): FATAL EXCEPTION: main 01-08 14:41:59.996 E/AndroidRuntime(10000): Process: org.qtproject.example.qt_test_android, PID: 10000 01-08 14:41:59.996 E/AndroidRuntime(10000): java.lang.NoSuchMethodError: org.qtproject.qt5.android.QtLayout.getRootWindowInsets 01-08 14:41:59.996 E/AndroidRuntime(10000): at org.qtproject.qt5.android.QtLayout.onSizeChanged(QtLayout.java:129) 01-08 14:41:59.996 E/AndroidRuntime(10000): at android.view.View.sizeChange(View.java:15864) ...
Attachments
Issue Links
- is duplicated by
-
QTBUG-110401 NoSuchMethodError: org.qtproject.qt5.android.QtLayout.onSizeChanged
- Closed
- resulted from
-
QTBUG-99543 Android 12 - Deprecations
- Closed