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=&
lt;MINGW_ROOT_PATH&
gt;\bin
set PERL_ROOT=&
lt;PERL_ROOT_PATH&
gt;\bin
set PATH=%
MINGW_ROOT%
;%
PERL_ROOT%
;%
PATH%
To verify the installation, run:
where mingw32-
make.exe
The 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 &
lt;path_to_build_dir&
gt;/
build-
qt
cd &
lt;path_to_build_dir&
gt;/
build-
qt
And then run the configure script:
&
lt;path_to_qt_source&
gt;/
configure -
platform android-
clang -
prefix &
lt;/
path/
to/
install&
gt; -
android-
ndk $ANDROID_NDK_ROOT -
android-
sdk $ANDROID_SDK_ROOT -
qt-
host-
path &
lt;path_to_host_qt_installation&
gt;
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 8
To build Qt as a developer build instead of a prefix build, use the following instead of -prefix argument:
-
developer-
build
Qt Configure Options contains more information about the configure options.
Building▲
To build the configured Qt code, run the following command:
cmake --
build . --
parallel
Installing▲
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>.