Настройка Android SDK для Qt

В Сети множество заметок о том, как заставить Qt компилировать приложения под Android. Однако, я столкнулся с некоторыми проблемами при использовании этих рецептов, и теперь хочу опубликовать своё решение указанных проблем в этой короткой заметке.

Собственно, чтобы Qt научился создавать приложения для Android, нам потребуется только четыре компонента: сам Qt, Android SDK, Android NDK и JDK. Вот какие версии указанных компонентов использовал я:

Qt 5.14.1 (Qt Creator 4.11.1)
jdk8u242-b08 (с сайта https://adoptopenjdk.net/)
SDK 26.1.1
NDK 21.0.6113669

Теперь про установку и настройку всего этого зоопарка. Как показывает практика, Android SDK не хочет работать с современными JDK с сайта Oracle. Ему подавай именно JDK 8. Я скачал такой OpenJDK на сайте AdotpOpenJDK для 64-битных систем (у меня процессор поддерживает 64-битные инструкции). Во время инсталляции важно выбрать в опциях добавление пути в системную переменную. JAVA_HOME должна быть обязательно установлена.

Важное замечание: все компоненты устанавливайте таким образом, чтобы пути к ним не содержали пробелов и не-латинских символов.

Android SDK нужно устанавливать весьма изощрённым способом. Сначала следует скачать с сайта https://developer.android.com/studio так называемый Command line tools only (прокрутите страницу вниз). Распакуйте архив в корень дика C: и переименуйте папку tools во что-нибудь другое, например, tmp. Затем запустите командную строку от имени администратора и выполните следующие команды:

cd c:/tmp/bin/
sdkmanager --install --sdk_root="C:\SDK" "tools" "emulator" "platform-tools" "platforms;android-28" "system-images;android-28;default;x86_64" "build-tools;28.0.3"

После чего удалите папку tmp вместе со всем содержимым. Дело в том, что в этом наборе Command line tools only инструментов, собственно, маловато, поэтому, нужно их всё равно отдельно устанавливать через sdkmanager. Разумеется, путь c:/sdk должен существовать - создайте заранее соответствующую пустую папку.

Android NDK скачайте отсюда (самую последнюю версию, если Ваша версия Qt больше 5.12, в противном случае r19) и просто распакуйте архив.

Теперь, кажется, всё. Осталось открыть Qt Creator - Инструменты - Параметры - Устройства - Android и указать пути к установленным пакетам. Должно всё подхватиться.
2020-03-29