User:Joger/Building Qt Multimedia for Android: Difference between revisions
(Added link to official Qt Doc for building Qt for Android) |
|||
Line 5: | Line 5: | ||
==My build setup== | ==My build setup== | ||
* OS: Windows 11 with dev drive mounted on | * OS: Windows 11 with dev drive mounted on K: (Using a dev drive makes builds faster when using Windows Defender antivirus) | ||
* Qt source tree: | * Qt source tree: K:\qt\android\qt6 | ||
* Build directory | * Build directory main Android build: K:\qt\android\android | ||
* Main (host) build for dev branch: | * Main (host) build for dev branch: K:\qt\android\host | ||
* Visual Studio 2022 (MSVC) | * Visual Studio 2022 (MSVC) | ||
* Don't have perl in path as it can cause hard to understand build failures | * Don't have perl in path as it can cause hard to understand build failures | ||
* Have cmake in path | * Have cmake in path | ||
== Setting up | == Setting up Android SDK/NDK and JAVA == | ||
# Install Qt Creator with Android option | # Install Qt Creator with Android option using Qt Maintenance Tool | ||
# In Creator preferences, install Adoptium JDK (C:\Program Files\Eclipse Adoptium\jdk-17.0.10.7-hotspot) | # In Creator preferences, install Adoptium JDK (C:\Program Files\Eclipse Adoptium\jdk-17.0.10.7-hotspot) | ||
# Android SDK location: C:\ | # Android SDK location: C:\Utils\Android | ||
# Select Android NDK 26.1.10909125 and make default | # Select Android NDK 26.1.10909125 and make default | ||
# Oppenssl location: C:\ | # Oppenssl location: C:\Utils\Android\android_openssl | ||
# Verify Android settings: | # Verify Android settings: | ||
[[File:Android settings 26.png]] | [[File:Android settings 26.png]] | ||
# Add Android device for ABI x86_64, OS Version 13.0 ("Tiramisu") (SDK 33) | # Add Android device for ABI x86_64, OS Version 13.0 ("Tiramisu") (SDK 33) | ||
[[File:Android Emulator.png]] | [[File:Android Emulator.png]] | ||
== Install MINGW == | |||
Run provisioning script from "K:\qt\android\qt6\coin\provisioning\common\windows\install-mingw.ps1" as administrator. This installs MINGW into C:\MINGW_PATH. | |||
== Building Qt for Android on Windows == | == Building Qt for Android on Windows == | ||
Main build root Android: | Main build root Android: K:\qt\android\android | ||
Follow steps in https://doc.qt.io/qt-6/android-building.html to create a host build. Note that only the host_tools target must be built. | |||
Main build directory for Qt Multimedia on Android: D:\qt\build\androidmultimedia | |||
Configure Qt Multimedia for Android <blockquote>cmake-DCMAKE_TOOLCHAIN_FILE=D:\qt\build\android\qtbase\lib\cmake\qt6\qt.toolchain.cmake -G Ninja -DQT_USE_ORIGINAL_COMPILER=ON -DQT_BUILD_TESTS=ON -DQT_BUILD_TESTS_BY_DEFAULT=OFF D:/qt/qt6/qtmultimedia & ninja</blockquote> | Configure Qt Multimedia for Android <blockquote>cmake-DCMAKE_TOOLCHAIN_FILE=D:\qt\build\android\qtbase\lib\cmake\qt6\qt.toolchain.cmake -G Ninja -DQT_USE_ORIGINAL_COMPILER=ON -DQT_BUILD_TESTS=ON -DQT_BUILD_TESTS_BY_DEFAULT=OFF D:/qt/qt6/qtmultimedia & ninja</blockquote> |
Revision as of 13:05, 11 August 2024
About this page
On this page I describe how I build Qt Multimedia for Android on Windows.
See also Qt documentation at Qt for Android - Building from Source | Qt 6.7
My build setup
- OS: Windows 11 with dev drive mounted on K: (Using a dev drive makes builds faster when using Windows Defender antivirus)
- Qt source tree: K:\qt\android\qt6
- Build directory main Android build: K:\qt\android\android
- Main (host) build for dev branch: K:\qt\android\host
- Visual Studio 2022 (MSVC)
- Don't have perl in path as it can cause hard to understand build failures
- Have cmake in path
Setting up Android SDK/NDK and JAVA
- Install Qt Creator with Android option using Qt Maintenance Tool
- In Creator preferences, install Adoptium JDK (C:\Program Files\Eclipse Adoptium\jdk-17.0.10.7-hotspot)
- Android SDK location: C:\Utils\Android
- Select Android NDK 26.1.10909125 and make default
- Oppenssl location: C:\Utils\Android\android_openssl
- Verify Android settings:
- Add Android device for ABI x86_64, OS Version 13.0 ("Tiramisu") (SDK 33)
Install MINGW
Run provisioning script from "K:\qt\android\qt6\coin\provisioning\common\windows\install-mingw.ps1" as administrator. This installs MINGW into C:\MINGW_PATH.
Building Qt for Android on Windows
Main build root Android: K:\qt\android\android
Follow steps in https://doc.qt.io/qt-6/android-building.html to create a host build. Note that only the host_tools target must be built.
Main build directory for Qt Multimedia on Android: D:\qt\build\androidmultimedia
Configure Qt Multimedia for Android
cmake-DCMAKE_TOOLCHAIN_FILE=D:\qt\build\android\qtbase\lib\cmake\qt6\qt.toolchain.cmake -G Ninja -DQT_USE_ORIGINAL_COMPILER=ON -DQT_BUILD_TESTS=ON -DQT_BUILD_TESTS_BY_DEFAULT=OFF D:/qt/qt6/qtmultimedia & ninja
Importing Qt Multimedia build into QtCreator
- Open QtMultimedia CMakeLists.txt from D:\qt\qt6\qtmultimedia
- Deselect all kits
- Import build from D:\qt\build\androidmultimedia
- This creates a Android Qt 6.8.0 (android) Clang x86_64 kit
- Configure is run automatically again
- Select a test to be built (tst_qmediadevices) and choose a corresponding emulator in project build settings for Android kit
- Build target tst_qmediadevices
- Observe error message:
19:15:12: The process "C:\Program Files\CMake\bin\cmake.exe" exited normally.
19:15:12: Starting: "D:\qt\build\dev\qtbase\bin\androiddeployqt.exe" --input D:/qt/build/androidmultimedia/tests/auto/unit/multimedia/qmediadevices/android-tst_qmediadevices-deployment-settings.json --output D:/qt/build/androidmultimedia/tests/auto/unit/multimedia/qmediadevices/android-build --android-platform android-33 --jdk "C:/Program Files/Eclipse Adoptium/jdk-17.0.10.7-hotspot" --gradle
Cannot find application binary in build dir D:/qt/build/androidmultimedia/tests/auto/unit/multimedia/qmediadevices/android-build//libs/x86_64/libtst_qmediadevices_x86_64.so.
19:15:12: The process "D:\qt\build\dev\qtbase\bin\androiddeployqt.exe" exited with code 2.
Error while building/deploying project QtMultimedia (kit: Android Qt 6.8.0 (android) Clang x86_64)
When executing step "Build Android APK"
19:15:12: Elapsed time: 01:05.