Status: In Progress
Priority: P1: Critical
Affects Version/s: None
Fix Version/s: 6.3
We need to enhance support for both Qt for Android (mobile phones and tablets off the shelf) and Qt for Android Embedded, which includes Qt for Android Automotive as an extension, after Qt 6.2 LTS. This means supporting the e2e developer journey mapping in QAA-204 and implementing the missing bits towards Qt 6.3. This ticket covers the items that did not make 6.2.
We must offer a working, supported e2e method enabling developing full screen UI and solutions on Embedded Android OS (replacing native Android apps and system UI). AAOS has another additional UI need outside of this basic need.
As background info to clarify the difference between the old Embedded Android and Qt For Embedded Android:
Embedded Android was and is the old setup https://web.archive.org/web/20150124085946/http://doc.qt.io/QtForDeviceCreation/qtee-about-b2qt.html, that term shall refer (if anymore needed) only to it.
- We deprecate the legacy term "Qt Embedded Android" and therefore required consequent ifdef changes to the code base
From now on there are two types of Android :
- Qt for Android - device that is a phone or tablet off-the-shelf
- Qt for Android Embedded - a device creation for OEMs
- Android Automotive lives inside the Qt for Android Embedded as an extension (e.g. Car API’s). At the code level, we provide support. But Qt for Android Automotive will only be a marketing term (for website, webinars, sales material)
- Android TV as an extension as well, customer example Dish. Wearables to be defined later.
- Both have Java components, JVM and Java libraries
- Both may be GMS or non-GMS (e.g. single app in Kiosk-mode), Qt for Android Automotive maybe GAS or non-GAS
Android Automotive on AAOS 11 is using QCSD8155P and on Android Embedded 11 on iMX8QM.
Development host support can be Linux and/or Windows, has dependency to Android SDK availability on given hosts.
We are looking at cases using Android without GAS (Google Apps and Services) where Qt is used to replace system UI with a single full screen app as well as Android with GAS. On some cases especially on AAOS there may be a number of Qt based apps (sometimes also some non-Qt apps).
6.3 documentation enhancements are to be done as the missing items have been implemented.
Qt Maintenance tool & Installer support is also needed for 6.3.
Android Embedded needs to be maintained in CI, RTA after 6.2.
We must document any changes to tools / scripts on how to setup Qt environment with Android SDK.
Automotive add-on modules, IVI, AppMan, AAOS CarAPI support etc are totally outside of this work and baseline OS support. Those are handled and managed by the QAA team.
Qt 6.3 for the missing things
Related tickets need to be created by R&D.
- QAA implementation
- Platforms Area
- Releasing and Installer
- Consumer (off-the self device whether mobile phone or tablet or whatever)
- Vendor(Device creation license, AOSP, GMS or non-GMS, GAS or non-GAS)
- Supported: Android NDK with JNI on embedded use cases (with or without GAS)
- Technically this is the same as targeting mobile phones but Qt licensing is different, apps will run on Kiosk mode and Qt has verified this to work on a non-mobile-phone HW (iMX8 today)
- Supported: Android Automotive Operating System native development without GAS
- Unsupported as not used: development on Native Android Kernel without JNI, Dalvik or GAS
- Unsupported as not used: Android Kernel dev without JNI, Dalvik or GAS
- Covered elsewhere: Android based mobile phones and tablets support
- Covered elsewhere: Android desktop partial support (part of the mobile phone support)
- Qt for Android with mobile phones and tablets
- Qt for Android with Devices (as defined in qt LA 4)