|
Официальные установщики, которые можно загрузить на сайте qt.io [1], в процессе установки требуют создать учетную запись qt. Однако можно обойти это требование, если загрузить portable-версию по ссылке [2].
Процесс по шагам:
1. Загрузите архив [2], распакуйте его содержимое в любую папку, например в "c:\Program Files\qt-creator-13.0.2\". Если ссылка [2] почему-то не открывается, попробуйте [3].
2. Создайте ярлык для файла "c:\Program Files\qt-creator-13.0.2\bin\qtcreator.exe".
Имейте в виду, что это всего лишь GUI-среда для разработки. Чтобы скомпилировать реальное приложение под выбранную платформу, необходимо установить библиотеку Qt.
[Установка Qt]
Памятка: установка Qt 6.9.3 на Windows для android-project-Qt. Всё ниже — про установку Qt-набора через `aqtinstall` (не через Qt Online Installer).
1. Исходная ситуация:
- Qt SDK отсутствует; есть только Qt Creator 13.0.2 — `C:\Program Files\qt-creator-13.0.2`. Это IDE: внутри её runtime-DLL Qt, но нет qmake.exe / Qt6Config.cmake, собрать проект нельзя. - aqtinstall доступен в miniconda: `%USERPROFILE%\miniconda3\Scripts\aqt.exe` (v3.3.0). Все команды выполняются в том окне, где доступен aqt. - Уже стоят Android SDK/NDK (`%USERPROFILE%\AndroidDev\Sdk`, NDK 27.3.13750724), JDK (`%USERPROFILE%\AndroidDev\jdk\jdk-21.0.12.1+1`), MSVC 2022 BuildTools.
2. Что и как выбрать:
- Версия — 6.9.3 (как на Linux; CMakeLists.txt требует Qt ≥ 6.5). - Desktop-хост — MSVC 2022 x64 (`win64_msvc2022_64`): на машине стоит MSVC BuildTools 2022. - Android — `android_arm64_v8a` (ABI подключённого телефона: `arm64-v8a`). - Ключевой момент: для Android хост в `aqt` — `all_os`, а не `windows`. Иначе получите `ERROR: No architectures available for this request`.
Проверка доступного (bat):
aqt list-qt windows desktop --arch 6.9.3 rem ... win64_msvc2022_64 ... aqt list-qt all_os android --arch 6.9.3 rem ... android_arm64_v8a ...
3. Установка (bat):
rem Android-Qt для телефона (arm64) + модуль Bluetooth Qt6::Bluetooth aqt install-qt all_os android 6.9.3 android_arm64_v8a -m qtconnectivity -O C:\Qt
rem host-desktop Qt 6.9.3 под MSVC 2022 x64 (для -DQT_HOST_PATH и desktop-сборки) + qtconnectivity aqt install-qt windows desktop 6.9.3 win64_msvc2022_64 -m qtconnectivity -O C:\Qt
rem инструменты сборки aqt install-tool windows desktop tools_cmake -O C:\Qt aqt install-tool windows desktop tools_ninja -O C:\Qt
`-m qtconnectivity` обязателен: это модуль `Qt6::Bluetooth` (SPP). Его нет в базовом `qtbase`, и он нужен и для Android, и для desktop-сборки.
4. Результат установки:
| Путь |
Что это |
| `C:\Qt\6.9.3\msvc2022_64` |
desktop Qt (`bin\qmake.exe`, `bin\Qt6Bluetooth.dll`) |
| `C:\Qt\6.9.3\android_arm64_v8a` |
Android Qt (`bin\qmake.bat`, `lib\cmake\Qt6\qt.toolchain.cmake`) |
| `C:\Qt\Tools\CMake_64\bin\cmake.exe` |
CMake |
| `C:\Qt\Tools\Ninja\ninja.exe` |
Ninja |
5. Правка после установки (обязательно):
`aqt` прописывает host-префикс Android-набора на mingw. В файле C:\Qt\6.9.3\android_arm64_v8a\bin\target_qt.conf заменить:
HostPrefix=mingw_64 -> HostPrefix=msvc2022_64
Иначе Android-кит не найдёт host-инструменты (у нас host-Qt под MSVC, mingw_64 не установлен).
6. Окружение для сборки Android (bat):
set "JAVA_HOME=%USERPROFILE%\AndroidDev\jdk\jdk-21.0.12.1+1" set "ANDROID_SDK_ROOT=%USERPROFILE%\AndroidDev\Sdk" set "ANDROID_NDK_ROOT=%USERPROFILE%\AndroidDev\Sdk\ndk\27.3.13750724" set "PATH=C:\Qt\6.9.3\msvc2022_64\bin;C:\Qt\Tools\CMake_64\bin;C:\Qt\Tools\Ninja;%PATH%"
7. Сборка (проверочные команды)
`< proj>` = `E:\asm\Dolina-config\android-project-Qt`.
Desktop (перед `qt-cmake` вызвать `vcvars64.bat`, чтобы в PATH был `cl.exe`):
call "C:\Program Files (x86)\Microsoft Visual Studio\2022\BuildTools\VC\Auxiliary\Build\vcvars64.bat" C:\Qt\6.9.3\msvc2022_64\bin\qt-cmake.bat -S < proj> -B < proj>\build-desktop -G Ninja ^ -DCMAKE_BUILD_TYPE=Debug -DCMAKE_MAKE_PROGRAM=C:\Qt\Tools\Ninja\ninja.exe cmake --build < proj>\build-desktop
Android debug-APK (устанавливается и подписывается debug-ключом):
C:\Qt\6.9.3\android_arm64_v8a\bin\qt-cmake.bat -S < proj> -B < proj>\build-android-debug -G Ninja ^ -DQT_HOST_PATH=C:\Qt\6.9.3\msvc2022_64 ^ -DANDROID_ABI=arm64-v8a -DANDROID_PLATFORM=android-35 ^ -DANDROID_SDK_ROOT=%ANDROID_SDK_ROOT% -DANDROID_NDK_ROOT=%ANDROID_NDK_ROOT% ^ -DCMAKE_BUILD_TYPE=Debug -DCMAKE_MAKE_PROGRAM=C:\Qt\Tools\Ninja\ninja.exe cmake --build < proj>\build-android-debug --target apk
- Desktop: `build-desktop\dolina_config_qt.exe` (для ручного запуска добавьте `C:\Qt\6.9.3\msvc2022_64\bin` в PATH).
- Android: `build-android-debug\android-build\build\outputs\apk\debug\android-build-debug.apk`.
- Release (`-DCMAKE_BUILD_TYPE=Release`) даёт `...-release-unsigned.apk` — не устанавливается без подписи.
Установка и запуск на телефоне:
adb install -r < apk> adb shell am start -n ru.dolina.config.qt/org.qtproject.qt.android.bindings.QtActivity
8. Настройка Qt Creator
8.1. Tools → Preferences → Kits → Qt Versions → Add:
- `C:\Qt\6.9.3\msvc2022_64\bin\qmake.exe` (Desktop); - `C:\Qt\6.9.3\android_arm64_v8a\bin\qmake.bat` (Android arm64-v8a).
8.2. Preferences → CMake: `C:\Qt\Tools\CMake_64\bin\cmake.exe`; Ninja подхватится из `C:\Qt\Tools\Ninja`.
8.3. Preferences → Devices → Android: SDK `...\AndroidDev\Sdk`, NDK `27.3.13750724`, JDK — 17 (Qt Creator 13 принимает только 17; на машине стоит 21).
8.4. Preferences → Kits: Desktop-кит (Qt `msvc2022_64` + компилятор MSVC 2022) и Android-кит (Qt `android_arm64_v8a` + NDK r27 + JDK 17).
8.5. Открыть `CMakeLists.txt` проекта, выбрать кит, **Configure Project**, собирать (`apk` для Android).
8.6. После настройки сохранить локальную конфигурацию: `save-qtcreator-settings.bat` (см. README, раздел «Переключение настроек Qt Creator между Windows и Linux»).
Примечания:
- Загрузка при установке ~1.5–2 ГБ; каталог `C:\Qt` создаётся автоматически. - JDK 21 собирает APK из командной строки (Gradle 8.12), но Qt Creator 13 для Android-кита требует именно JDK 17. - NDK `27.3.13750724` соответствует r27, как и Qt 6.9.3 (совместим с `libc++_shared.so` в APK). - Если `aqt list-qt windows android --arch < ver>` пусто — используйте хост `all_os` (см. п. 1).
[Ссылки]
1. Offline Qt Downloads site:qt.io. 2. qt-creator64-13.0.2-qtcreator.7z. 3. 261021qt-creator64-13.0.2-qtcreator.7z. |