Qt 5.15 LTS и Qt для Android
Поскольку многие разработчики используют Qt для Android, компания Qt хочет улучшить опыт разработчиков. В следующем выпуске Qt 5.15.0 разработчики Qt обновили документацию для Android. Обновлённая документация содержит много нового контента о том, как использовать Qt для Android, чтобы максимально реализовать его потенциал. Более подробно объясняется, как расширить Qt для поддержки более продвинутых функций и улучшения интеграции с API-интерфейсами Android.
Основные темы, которые были улучшены в документации:
• Расширение приложений Qt для использования пользовательских классов или asset’ов Java и структуры упаковки.
• Управление версиями зависимостей между Android Native Development Kit (NDK) и Qt.
• Как работать с сервисами Android множеством разных способов.
• Как создать и использовать OpenSSL с Android. Зависимости между репозиторием OpenSSL поддерживают все версии Qt, как с QMake, так и с CMake.
В этом же контексте было исправлено множество примеров Qt, у которых были некоторые проблемы, такие как макет, масштабирование или разрешения. Qt 5.15.0 Qt Android Extras поставляется с новым примером кода Qt Java Native Interface Messenger (Qt JNI Messenger). В примере демонстрируется одна из самых важных тем при использовании Qt для Android, а именно связь JNI. Она объясняет рабочий процесс вызова методов и обмена данными между Java и Qt. Пример служит отправной точкой для соединения Qt и Android в обоих направлениях.
Обеспечивая правильную интеграцию с Android, диалоговое окно собственных файлов Android теперь можно использовать по умолчанию, открывая файлы и сохраняя операции. Нативный файловый диалог также использует файловую схему Android (Android’s ‘content’ file scheme) для контента файлов и проводит дополнительные проверки исключений, которые в прошлом вызывали некоторые случайные сбои. AndroidManifest.xml больше не устанавливает значения minSdkVersion и targetSdkVersion. Вместо этого вы можете установить их с помощью файла build.gradle . Android Studio выдаст предупреждение о настройке версий SDK в файле манифеста.
Qt Creator 4.12
Последний выпуск Qt Creator принес существенные улучшения для разработки под Android. Qt Creator теперь может автоматически устанавливать Android SDK, который является основным блоком для сборки и запуска приложений Qt для Android. Он предложит вам установить необходимые пакеты для разработки. Более того, использование OpenSSL в ваших приложениях теперь стало более простым с Qt Creator, что позволяет вам устанавливать локальный путь к библиотеке и использовать его с любым проектом из настроек комплекта.
Одной из существенных особенностей поддержки Qt для Android было отсутствие управления версиями Qt и NDK. В прошлом у Qt Creator мог быть только один действительный NDK, что в данный момент может беспокоить при работе с несколькими версиями и проектами Qt. Версии Qt для Android опирались на разные версии NDK, и разработчик должен был выбрать и переключиться на правильную версию вручную. Вот почему разработчики Qt представили способ управления несколькими версиями Qt и связывания каждой из них с соответствующей версией NDK. Qt Creator отслеживает это, используя общий файл конфигурации. Кроме того, по желанию можно использовать собственные пути NDK.
Некоторые другие изменения, которые внесли разработчики Qt, включают список примеров для наборов Android, показывающий такие примеры, которые были протестированы и работают на устройствах Android. Например, примеры, которые не показаны по умолчанию, включают в себя те, которые имеют неподдерживаемые функции или модули на Android. Кроме того, улучшение дизайна и функциональности пользовательского интерфейса включали AVD Manager , который получил некоторую гибкость при создании AVD, а также выбор значков редактора манифеста (Manifest Editor) .
Взгляд в будущее
Чтобы хорошо обслуживать мобильных пользователей Qt, компания Qt собирается представить еще много обновлений для поддержки Android. Разработчики Qt создадут больше примеров, документации и функциональных возможностей, проложив путь к простой и продвинутой разработке для Android.