В рамках проекта Necessitas подготовлена версия Qt для платформы Android
!Ъ:
Группа независимых энтузиастов представила проект Necessitas, в рамках которого подготовлен начальный прототип версии инструментария Qt для платформы Android. Проект Necessitas предоставляет полный набор средств для разработки и портирования Qt-приложений для платформы Android, при этом весь процесс подготовки, сборки и отладки таких программ полостью интегрирован в IDE QtCreator. На телефоне все Qt-приложения используют один набор разделяемых библиотек Qt, что позволяет добиться большой экономии памяти при одновременном запуске нескольких Qt-программ. Один раз собранная в виде стандартного apk-пакета Qt-программа, может в дальнейшем использоваться для различных версий платформы Android, не требуя пересборки при выходе новых версий Android.
Так как разработка ведется независимо от компаний Google и Nokia, с целью избежания пересечения с торговыми марками Android и Qt для проекта выбрано нейтральное название Necessitas. В настоящее время проект находится на стадии альфа-тестирования и позиционируется для начального ознакомления. Так как многие части еще недостаточно стабильны, разработчикам не рекомендуется размещать созданные при помощи Necessitas программы в каталоге Android Market. Тем не менее в тестовых целях одно Qt-приложение Animatedtiles уже размещено в Android Market. Скринкаст, поясняющий принцип создания Qt-приложений для платформы Android, можно посмотреть здесь.
Necessitas состоит из следующих составных частей:
- Ministro - программа для установки и обеспечения работы Qt-библиотек в системе Android. Ministro реализован в виде сервиса для платформы Android, обеспечивающего наличие в системе актуального для текущей версии Android набора Qt-модулей. В случае отсутствия требуемого модуля он загружается по сети;
- Qt framework - модифицированный для поддержки платформы Android вариант инструментария Qt. В составе первой альфа-версии поставляется только sw-плагин (SingleWindow), использующий для обеспечения работы Qt-приложения только одно окно в системе Android, выводя поверх него все окна, сгенерированные Qt, такие как диалоги, меню и т.п. Для трансляции вывода используется родная реализация поддержки фреймбуфера (framebuffer) из Qt, расширенная интерфейсом для взаимодействия с платформой Android. Для обеспечения поддержки OpenGL для акселерации вывода в будущем планируется подготовить еще один плагин - mw (MultiWindow).
- Qt Creator for Android - редакция интегрированной среды Qt Creator, адаптированная для разработки приложений для платформы Android.