Qt for Android - Building from Source▲
This page describes the process of configuring and building Qt for Android. To download and install a pre-built Qt for Android, follow the instructions on the Getting Started with Qt page.
Prerequisites▲
To build Qt for Android from source please ensure all requirements from Getting Started with Qt for Android are met before continuing.
Windows▲
Building Qt for Android on Windows also requires the following software:
- 
							
MinGW 11.2 toolchain
 
Qt for Android does not support building from source with Microsoft Visual C++ (MSVC).
Install the requirements, and set the PATH to include the newly installed binaries:
set MINGW_ROOT=<MINGW_ROOT_PATH>\bin
set PERL_ROOT=<PERL_ROOT_PATH>\bin
set PATH=%MINGW_ROOT%;%PERL_ROOT%;%PATH%To verify the installation, run:
where mingw32-make.exeThe command should list mingw32-make.exe under the path <MINGW_ROOT> first.
Getting the Sources▲
You can download the Qt sources from the Qt Downloads page, or follow the wiki guide for Getting the source code.
Configuring▲
Qt 6 allows building Qt for Android from source code using CMake. Qt 6 keeps the same configure script from Qt 5. The main difference is that Qt for Android is dependent on a host Qt build, which means to build Qt for Android, you need to build Qt for the desktop platform used as a host (for example Linux, macOS, or Windows).
To configure Qt for Android, create a shadow build directory to keep the source directory clean:
mkdir <path_to_build_dir>/build-qt
cd <path_to_build_dir>/build-qtAnd then run the configure script:
<path_to_qt_source>/configure -platform android-clang -prefix </path/to/install> -android-ndk $ANDROID_NDK_ROOT -android-sdk $ANDROID_SDK_ROOT -qt-host-path <path_to_host_qt_installation>Architectures▲
Qt for Android supports the following ABIs:
The following configurations are supported in this Qt release:
| 
								 Distribution  | 
							
								 Architecture  | 
							
								 Compiler  | 
							
								 Notes  | 
						
|---|---|---|---|
| 
								 Android 6.0 or later (API level 23 or higher)  | 
							
								 armv7a, x86, arm64-v8, and x86_64  | 
							
								 Clang 12.0.8 (NDK r23b) as provided by Google  | 
							
								 For JDK versions see Java Development Kit (JDK)  | 
						
Qt user apps require using the same NDK r23b version used for building the official Qt for Android libraries. A different version might be missing the symbols for __emutls_get_address.
To choose the ABI to build for, use the -android-abis feature of the configure script.
6.4 does not yet support being built for multiple ABIs at the same time.
Advanced Configure Arguments▲
Qt for Android contains Java code which is compiled into *.jar files with javac. To set the javac version for source and target, use -android-javac-source and -android-javac-target respectively:
-android-javac-source 8 -android-javac-target 8To build Qt as a developer build instead of a prefix build, use the following instead of -prefix argument:
-developer-buildQt Configure Options contains more information about the configure options.
Building▲
To build the configured Qt code, run the following command:
cmake --build . --parallelInstalling▲
Now, to install Qt, run the following command:
cmake --install .On Unix based OSes you should prefix the install command with the sudo command.
If you haven't provided the --prefix <install-dir> configure option, the installation is placed under /usr/local/Qt-<version>.


