Pull to refresh

Как быстро начать разрабатывать на Qt/QML для BlackBerry PlayBook и заставить всех тебе завидовать

Reading time 4 min
Views 7.2K
BlackBerry PlayBook становится всё более и более привлекательной платформой для Qt-разработчиков. Всё идёт к тому, что Qt будет включён в стандартный набор библиотек планшета. Благодаря чему платформа PlayBook (а вслед за ней и платформа BlackBerry 10) вызывает интерес у Qt-разработчиков. Так что в этой небольшой заметке я хотел бы рассказать, как прямо сейчас можно начать разрабатывать на Qt для BlackBerry PlayBook. Будет описан процесс настройки среды разработки с нуля до состояния, когда можно начинать писать приложения. На самом деле мне уже несколько раз задавали подобные вопросы, что и подвигло меня на написание этой публикации.

Для того, чтобы начать разрабатывать на Qt для PlayBook мы вместе выполним следующие шаги:
  • Установим Native SDK
  • Настроим систему для подписывания и установки приложений
  • Соберём Qt
  • Создадим и настроим проект Qt-приложения
Чтобы не загромождать публикацию всеми подробностями и нюансами, я не буду рассказывать всё в деталях и иногда буду отсылать к документации и другим ресурсам.

Поскольку я разрабатываю в среде Linux, то буду описывать всё применительно к ней. Но аналогичным или схожим образом можно вести разработку в Windows и Mac OS X. Для всех трёх систем доступны инструменты разработки Native SDK (NDK). Если возникнут сложности, то можно проконсультироваться на форуме разработчиков (англ. + рус.).

Установка Native SDK


Перед тем как мы приступим непосредственно к установке NDK, стоит пояснить ситуацию с версиями PlayBook OS. На данный момент официально выпущена версия BlackBerry PlayBook OS 2.0, но средства разработки Native SDK 2.0 пока доступны в виде бета-версии. Но не стоит опасаться бета-версии, я думаю, что релиз появится в ближайшее время. Возможно, когда Вы будете это читать, NDK 2.0 уже выйдет.

Скачайте Native SDK 2.0 и симулятор для своей операционной системы, перейдя по ссылке. В установке NDK ничего сложного нет, потребуется только выбрать каталог, куда устанавливать. Native SDK представляет собой QNX Momentics (т.е. основан на Eclipse), дополненный инструментами BlackBerry. Симулятор это образ виртуальной машины для VMWare.

Получение ключей и всего необходимого для подписывания приложений


Сначала надо получить ключи. Для этого перейдите по ссылке и заполните форму. Убедитесь, что выбрали ключи для PlayBook'а в поле «Select a Key». Через какое-то время на указанный почтовый адрес Вы получите ключи. Сохраните их в каталоге ~/.rim (для Linux).

После того, как ключи будут получены необходимо их зарегистрировать. Выполните следующие команды:

$ /path/to/ndk/bbndk-env.sh
$ blackberry-signer -register -storepass <пароль> -csjpin <PIN> client-RDK-<XXXXX>.csj client-PBDT-<XXXX>.csj

Здесь <пароль> это пароль, который вы выбрали; а <PIN> это PIN планшета, который вы указали в форме запроса ключей.

Ещё можно сделать отладочный ключ (debug token) и установить его на PlayBook (для симулятора это не требуется). Однако, если мы собираемся работать в IDE, то среда разработки сама сообщит, что требуется ключ, поможет сгенеририровать и установить его на устройство. Если вам интересно, как это можно сделать при помощи утилит командной строки, то ознакомьтесь с руководством Getting Started with Qt on Blackberry.

Сборка Qt для PlayBook


Библиотеки Qt не входят в состав стандартного набора компонентов прошивки PlayBook, будем надеяться, что в скором времени это будет исправлено, т.к. ведутся работы по переносу Qt для PlayBook с GitHub в основной репозиторий Qt. А пока нам надо самостоятельно скачать исходный код Qt, собрать его для PlayBook и установить на инструментальной системе.

Скачайте архив qt-qnx-preview.tar.gz из GitHub, распакуйте и выполните следующие команды:

$ /path/to/ndk/bbndk-env.sh
$ ./configure-qnx

Не постесняйтесь заглянуть внутрь скрипта configure-qnx. Там можно добавить нужные вам опции сборки Qt. Лично я немного изменил скрипт, чтобы Qt устанавливался не в текущий каталог, а в каталог target в NDK:

#!/bin/sh

./configure -opensource -confirm-license -qpa -shared -release \
    -xplatform unsupported/blackberry-armv7le-qcc -little-endian -arch arm \
    -iconv -largefile -nomake examples -xmlpatterns -no-webkit -no-neon -no-rpath -opengl es2 \
    -prefix-install -prefix ${QNX_TARGET}/../target-override/armle-v7/usr/lib/qt4 \
    -headerdir ${QNX_TARGET}/../target-override/usr/include/qt4

Теперь уже можно с чистой совестью выполнить:

$ make -j12
$ make install

На этом всё. Пожалуй, больше на тему сборки Qt для PlayBook распространяться не буду. Для быстрого старта рассказанного будет достаточно.

Настройка проекта в NDK для Qt-приложения


Запустите NDK для BlackBerry и создайте проект «BlackBerry Tablet OS C/C++ Project».
Создание проекта BlackBerry Tablet OS C/C++ в Native SDK
Укажите пути к заголовочным файлам модулей, которые будут использоваться. Например, QtGui и QtDeclarative:

BlackBerry Native SDK: Пути к заголовочным файлам Qt

Выберите пункт QCC Linker -> Libraries, в список Library Paths добавьте путь к библиотекам Qt и сами библиотеки в список Libraries:

BlackBerry Native SDK: Пути и библиотеки Qt

Откройте файл bar-descriptor.xml и в графе Assets добавьте ссылки на модули Qt, которые будет использовать приложение:

BlackBerry Native SDK: Модули Qt

В принципе это всё. Теперь можно разрабатывать приложение на Qt или QML, проверять его работу в симуляторе или на PlayBook, создавать подписанные BAR-файлы и размещать их в App World. Пример приложения на QML собранного для PlayBook можно посмотреть тут.

Ещё одна особенность, которая может сберечь ваше время. Не забудьте вставить первой строчкой в функции main() вашей программы:

    QCoreApplication::addLibraryPath("app/native/lib");

Так указывается путь по которому приложение будет искать библиотеки Qt.

Вместо заключения


Платформа PlayBook представляет большие возможности для разработчиков и, в конечном итоге, для пользователей. В основе платформы лежит ОСРВ QNX, который обеспечивает поддержку POSIX, и средства разработки Native SDK позволяют не только разработать практически что угодно, но и использовать ранее разработанные библиотеки или библиотеки с открытым исходным кодом. В качестве примера может послужить DjView — программа просмотра DjVu, собранная для PlayBook.

Порт DjView на BlackBerry PlayBook

В заметке не рассказывалось о всех возможностях и особенностях разработки на Qt для PlayBook. Например, я не рассказал о плагине QNX для Qt Creator, который доступен на GitHub. Также рекомендую попробовать. Сообщают, что плагин будет включён в версию 2.5.

Если Вам интересны технологии QNX, в том числе и применение Qt на QNX и PlayBook, то не забудьте посетить XII международную конференцию «QNX-Россия 2012». Информация по конференции и материалы с предыдущих конференций доступны на сайте qnx-russia.ru. Получить информацию о докладах специалистов СВД Встраиваемые Системы и предложить темы для докладов и мастер-классов можно на форуме СВД ВС.
Tags:
Hubs:
+11
Comments 32
Comments Comments 32

Articles