What's New with Qt for Android

Qt 5.15 LTS and Qt for Android

Since many developers use Qt for Android, we want to improve the developer experience. With the upcoming release of Qt 5.15.0, we have revamped the documentation for Android. The new documentation has lots of new content on how to use Qt for Android maximizing its full potential. It explains in more detail how to extend Qt to support more advanced features and enhance integration with Android APIs.  

The main topics that have been improved in the documentation include: 

  • Extending Qt applications to use custom Java classes or assets and the packaging structure. 
  • Dependency version management between the Android Native Development Kit (NDK) and Qt.  
  • How to work with Android services in a multitude of different ways. 
  • How to build and use OpenSSL with Android. Dependencies between the OpenSSL repository supports all Qt versions, both with QMake and CMake. 

In the same context, many Qt examples that had some issues such as layout, scaling, or permissions, has been fixed. Qt 5.15.0 Qt Android Extras comes with a new code example Qt Java Native Interface Messenger (Qt JNI Messenger). The example demonstrates one of the most important topics when using Qt for Android, which is JNI communication. It explains the workflow of invoking methods and exchanging data between Java and Qt. The example serves as a starting point for bridging Qt and Android both ways. 

New to Qt for Android? Check out my recent ‘Getting started with Qt for Android’ on-demand webinar from the Qt Virtual Tech Con 2020 

Ensuring proper integration with Android, the Android native file dialog can now be used by default by opening file(s) and saving operations. The native file dialog also uses Android’s ‘content’ file scheme and conducts additional exception checks, which in the past has caused some occasional crashes. The AndroidManifest.xml no longer sets minSdkVersion and targetSdkVersion values. Instead, you can set thewith the build.gradle file. Android Studio will provide a warning about setting SDK versions in the manifest file. For more information, see the Manifest documentation. 

For the full list of changes, see Platform Changes in Qt 5.15.0. 

Qt Creator 4.12

The latest release of Qt Creator brought substantial improvements for Android development. Qt Creator can now automatically setup for Android SDK, which is the main block for building and running Qt for Android applications. It prompts you to install the needed packages for development. Furthermore, using OpenSSL in your applications is now more straightforward with Qt Creator, allowing you to set up your local path for the library and use it with any project from the kit settings. 
One of the essential features of Qt for Android support was the lack of managing Qt and NDK versions. In the past, Qt Creator could only have one valid NDK at a given time, which can be troubling when dealing with multiple Qt versions and projects. Qt for Android versions relied on the different NDK versions, and it was up to the developer to select and switch to the correct version manually. That is why we introduced a way to manage multiple Qt versions and couple each of them with the appropriate NDK version. Qt Creator keeps track of this using a common configuration file. Additionally, it is possible to use custom NDK paths as desired.

qtcreator-android-auto-setup

Some other changes we have made include the examples list for Android kits showing examples that are tested and known to work on Android devices. The examples that are not shown by default include those that have unsupported features or modules on Android, for example. Also, improvements to the UI design and functionality included the AVD Managerwhich got some flexibility for creating AVDs, as well as the Manifest Editors icon selection. 

For the full list of changes, see Qt Creator 4.12 Android changes. 

Looking Ahead 

To serve Qt mobile users well, we are going to introduce many more updates for supporting Android. We will create more examples, documentation, and functionality, paving the way for easy and advanced development targeted for Android. Stay tuned for brighter Qt for Android future. 

To access all the new features with Qt for Android, download the latest version via our downloads page or update through the maintenance tool.    


Blog Topics:

Comments