Портируем Qt приложение под Ubuntu Phone

Ну нравится мне ковыряться в этом всём! Ну вот так вот smile Альтернативные мобильные платформы это моя слабость! И после рассказов о Qt на It Camp`15 решил во что бы то ни стало написать о том как портануть приложение на Ubuntu Touch.
И да! Хвалимся! :)
Портируем Qt приложение под Ubuntu Phone

Я надеюсь что SDK Вы сможете поставить и без меня...

Итак создаём проект в Ubuntu SDK:
У меня есть куски на C++ так что мой выбор был таков:
Портируем Qt приложение под Ubuntu Phone

Тут всё знакомо и не интересно
Портируем Qt приложение под Ubuntu Phone

Новое: тут нужны ваши данные:
Портируем Qt приложение под Ubuntu Phone

Выбираем цели. 14.10 смысла думаю сейчас использовать нет...сразу юзаем 15.04 и сразу и Arm и i386
Портируем Qt приложение под Ubuntu Phone

Тут тоже всё понятно я думаю:
Портируем Qt приложение под Ubuntu Phone

Итог: Такое древо файлов:
Портируем Qt приложение под Ubuntu Phone

У нас получилось 2 pro файла - 1 файл у ПАКЕТА 1 файл у приложения... Тоесть по сути мы можем в полученную папку рядом скопировать проект нашего Qt приложения и просто переключиться на него...круто? Да, но есть несколько НО! Есть специфичные файлы для Ubuntu но обо всём попорядку.
Находим наш корневой pro file и видим в нём строку:
Код PHP:
  1. SUBDIRS += YaApplicashecko
И заменяем его на свою директорию. Далее в этой директории создаём файлы:
YaApplicashecko.apparmor - Файл допусков и разрешений. По умолчанию он выглядит так:
Код JSON:
  1.  
  2. {
  3. "policy_groups": [
  4. "networking"
  5. ],
  6. "policy_version": 1.3
  7. }
  8.  
YaApplicashecko.png - иконка вашего приложения. Размер 512*512.
А теперь самое главное! Я потратил 2 недели на это! У меня было 3 запоя я полысел и вообще!!!
YaApplicashecko.desktop - по умолчанию он выглядит так:
Код PHP:
  1.  
  2. [Desktop Entry]
  3. Name=YaApplicashecko
  4. Exec=qmlscene $@ YaApplicashecko/Main.qml
  5. Icon=YaApplicashecko/YaApplicashecko.png
  6. Terminal=false
  7. Type=Application
  8. X-Ubuntu-Touch=true
  9.  
И если вы заметите то он заточен на запуск QML-Only приложений! Как запустить бинарник? Решение этой проблемы не знает ни кто: Цените - раз и два. Либо я дебил и ни туда смотрел! Короче решение: Параметр Exec меняем на:
Код PHP:
  1.  
  2. Exec=opt/$PACKAGE/bin/$TARGET
  3.  
ВНИМАНИЕ!!!
$PACKAGE берётся тут:
Портируем Qt приложение под Ubuntu Phone

из параметра title

А $TARGET берём отсюда!
Портируем Qt приложение под Ubuntu Phone


Ну а далее будет уже проще....
Комментарии (1)
  1. Сергей. Если интересна работа в проекте intraHouse.ru прошу сообщить
    На сайте есть контакты.
Copyright 2016-2019 NeoChapay