Pull to refresh

Ubuntu ui toolkit на Ubuntu Touch и Android

Reading time 3 min
Views 6.6K


Хотелось бы рассказать об опыте запуска приложения написанного с использованием Ubuntu ui toolkit на платформах Ubuntu Touch и Android. Для теста я использовал приложение из прошлой статьи. Тулкит находиться в стадии разработки, для интересующихся текущим состоянием информация под катом.

Ubuntu Touch


Установка Ubuntu Touch на устройство описана на сайте. Официальные сборки существуют для устройств серии Nexus, но в сети множество вариантов и для других устройств.
Компиляцию и сборку значительно проще выполнять через Qt Creator поставляемый с набором Ubuntu SDK.
  1. После подключения устройства во вкладке Devices будет доступно включение режима разработчика. Это действие установит необходимые пакеты (gcc, ssh). Не забываем про разрешения в udev и наличие интернета
  2. В зависимости от типа проекта в меню Build >> Ubuntu Touch будут доступны опции для запуска приложения(.qmlproject), либо для компиляции, сборки и установке пакета на устройстве(.pro)

Несколько скриншотов с Galaxy Nexus:






Как всегда есть некоторые проблем, например приложение запускается в фоне и необходимы некоторые действия чтобы увидеть его. Но в целом все работает хорошо и Ubuntu Touch радует своими возможностями по разработке приложений.

Android


Здесь путь значительно дольше и более тернист.

Qt5

Для начала нам потребуется собрать из исходных кодов Qt5 с помощью Android NDK. Подробно процесс сборки описан в статье.
На Ubuntu 13.10 мне потребовалось перед сборкой установить пакеты openjdk-6-jdk и zlib1g-dev, сделать export ANDROID_API_VERSION=android-14. Параметры для скрипта конфигурации:
./configure -opensource -confirm-license -developer-build -xplatform android-g++ -nomake tests -nomake examples -android-ndk /opt/android-ndk-r8e -android-sdk -android-sdk /opt/adt-bundle-linux-x86_64-20130219/sdk -skip qttools -skip qttranslations -skip qtwebkit -skip qtserialport -skip qtwebkit-examples-and-demos
После этого сборка прошла успешно. При сборке были отключены модули qtwebkit и qttranslations их работоспособность обещают к релизу версии Qt 5.1.

Неудачный запуск

Открыв проект нашего приложения и добавив Kit для Android (в Tools >> Options >> Build & Run, затем во вкладке Projects >> Add kit) можно попробовать запустить программу на устройстве. Если все прошло хорошо, на экране появится предложение предложение установить Ministro. Этот сервис устанавливает и предоставляет библиотеки qt для приложений. После скачивания библиотек мы увидим серый фон и сообщения от отсутствии модуля Ubuntu в логе.

Скриншоты процесса









Ubuntu ui toolkit

Получить код можно из репозитория, сразу архивом или через bazaar. Код собирается Qt Creator`ом, с использованием Qt5 под Android. Так-же во время сборки будет необходимо закомментировать код использующий функции отключенных модулей, в основном, это qttranslations.

«Удачный запуск»

Копируем Ubuntu ui toolkit на устройство. Ministro использует папку /data/local/tmp/qt/, туда я скопировал themes и modules из Ubuntu ui toolkit. Так-же необходимы две переменные окружения UITK_THEME_PATH (путь к папке themes) и GRID_UNIT_PX (коэффициент для перевода gp в экранные пиксели).
qputenv("UITK_THEME_PATH", "/data/local/tmp/qt/themes");
qputenv("GRID_UNIT_PX", "25");

Разочарованием стала неработоспособность модуля qtwebkit, из-за этого невозможно провести авторизацию пользователя. Скриншот результата.


CurrencyConverter для сглаживания впечатления







Blackberry 10


Есть статья по поводу запуска приложений использующих Ubuntu ui toolkit на BB10. Все выглядит работоспособно, хотя и требуется некоторая адаптация.
Tags:
Hubs:
+1
Comments 0
Comments Leave a comment

Articles