Details
-
User Story
-
Resolution: Unresolved
-
P3: Somewhat important
-
None
-
6.9
-
None
-
-
2025S1FOQtforAndroid
Description
Why
- Java Development Kit (JDK) is used in Qt for Android (Qt4A) for compiling and running QPA Android Java parts
- Qt4A should have a plan and a policy for JDK updates
- Qt4A should have up-to-date JDK LTS version on place
What
- Qt4A uses Gradle and Android Gradle Plugin (AGP) for building
- Gradle states the support from Java Virtual Machine (JVM) from 8 to 23, but apparently JDK 17 was required earlier by some Gradle version
- Qt Quick for Android introduced the Qt Tools for Android Studio for Android Studio based on IntelliJ IDEA
- Qt Quick for Android has examples with Java & Groovy and Kotlin and DSL
- Kotlin versions require certain Gradle versions
- JDK has different versions
- Oracle JDK (from version 11 forward commercial license might be needed.
- Qt is dual licensed, and thus can not stick only to commercial offering
- Open JDK
- Adoptium Eclipse Temurin
- Amazon Corretto
- Azul Zulu
- Oracle JDK (from version 11 forward commercial license might be needed.
How
- Define and communicate a policy to Qt for Android and JDK updates
- Blog post and development mailing list
- Select a JDK to be used for Qt 6.9 and Qt 6.8 and 6.5 LTS's
- Use the same JDK across Qt and it's tooling incl. Qt Creator (especially Android installation)
- Update the JDK for Qt LTS's versions (if needed)
When
- Qt4A and JDK have LTS and non-LTS versions. Qt LTS life-time is five years (6.8 LTS forward) and JDK "at least three years"
- Non-LTS versions of JDK has life-time around 6 months
- Non-LTS versions of Qt has life-time around three patch (X.Y.Z) releases (.Z)
- JDK's most recent LTS is 21 and previous is 17 (used in Qt 6.8 LTS atm)
- JDK 17 was released 9/2021 and "at least three years" was reached by 9/2024
- Qt 6.8 LTS was released 10/2024 and supported five years
- Qt 6.5 LTS is supported until 3/2026
Attachments
Issue Links
- resulted in
-
QTTA-255 LadyBug default JDK 21 not supported
- Reported
- split from
-
QTBUG-128920 Gradle sync issues with JDK 22
- Closed
1.
|
Update JDK version to 21 LTS in documentation | Reported | Rami Potinkara | |
2.
|
Update JDK version to 21 in RTA | Reported | Qt Android Team | |
3.
|
Update QtCreator JDK to 21 | Reported | Qt Android Team | |
4.
|
Update Coin to use JDK 21 | Reported | Qt Android Team |
Gerrit Reviews
For Gerrit Dashboard: QTBUG-130497 | ||||||
---|---|---|---|---|---|---|
# | Subject | Branch | Project | Status | CR | V |
598309,3 | Android: Update JDK version to 21 | dev | qt/qtbase | Status: NEW | 0 | 0 |
598311,1 | RTA: update Android JDK to 21 | master | qtqa/tqtc-qt-rta | Status: NEW | 0 | 0 |
598312,1 | Android: update JDK to 21 | master | qt-creator/qt-creator | Status: NEW | 0 | 0 |
598313,1 | Coin: update JDK to 21 | dev | qt/qt5 | Status: NEW | 0 | 0 |