Nokia N900. FAQ. Разработки в QtCreator для MAEMO SDK

MForum.ru

Nokia N900. FAQ. Разработки в QtCreator для MAEMO SDK


Некоторое время назад вышел Qt4.6.2 для Maemo. Под катом ожидается инструкция как поставить SDK в Linux Debian и настроить среду для разработки на Qt (на основе QtCreator).

 

Установка

 

Итак, первым делом нам надо скачать скрипты для установки SDK. Это делается командами:

wget http://repository.maemo.org/stable/5.0/maemo-scratchbox-install_5.0.sh

wget http://repository.maemo.org/stable/5.0/maemo-sdk-install_5.0.sh

Выставляем им права на исполнение:

chmod +x ./maemo-scratchbox-install_5.0.sh ./maemo-sdk-install_5.0.sh

И запускаем первый под рутом с указанием юзера, которому будет дан доступ к «песочнице» с SDK:

sudo ./maemo-scratchbox-install_5.0.sh -u tass

Скрипт установит «песочницу» через apt, причем установит он ее в /scratchbox. Меня немного не устроило такое состояние дел и я сделал эту директорию линком на /home/scratchbox (из-за постоянного дефицита места на корневом разделе).

Также скрипт добавит указанного юзера в группу sbox, но для того чтобы он был виден в этой группе надо либо сделать релогин, либо просто указать системе что мы в ней:

newgrp sbox

Теперь запускаем второй скрипт:

./maemo-sdk-install_5.0.sh

Теперь нам надо зайти в «песочницу» и поставить необходимые пакеты на эмуляторе.

Вход осуществляется просто:

/scratchbox/login

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

deb http://repository.maemo.org/ fremantle/0123456789abcdef0123456789abcdef nokia-binaries

В «песочнице» нам надо в файл /etc/apt/sources.list добавить ее и еще одну строку

deb http://repository.maemo.org/extras-devel/ fremantle free non-free

Теперь мы готовы поставить пакеты:

apt-get update

fakeroot apt-get install nokia-binaries nokia-apps libqt4-maemo5*

По завершению имеем полностью готовый к разработке эмулятор Maemo.

 

Запуск

 

Для запуска нам необходим Xephyr:

apt-get install xserver-xephyr

Теперь запускаем его

Xephyr :2 -host-cursor -screen 800x480x16 -dpi 96 -ac &

На экране появится черное окошко 800x480.

Теперь необходимо запустить окружение Maemo, для этого логинимся в «песочницу» и выполняем скрипт запуска:

/scratchbox/login

export DISPLAY=:2

af-sb-init.sh start

В черном окошке Xephyr'а появится рабочий стол n900 (советую оставить английский язык, так как русский перевод по некоей причине неполный и многие надписи будут выведены их идентификаторами). Также наблюдается некая проблема с цветами (там где должен быть синий цвет иногда появляется оранжевый, иконки имеют «шлейф» сверху и прочие подобные артефакты. Но на общую работу это не влияет и тестить приложения можно вполне сносно).

QtCreator

Сразу уточню, что вся разработка должна вестись в домашней папке юзера в «песочнице», чтобы можно было достучаться изнутри «песочницы» до нужных файлов.

Афаик полноценная поддержка Maemo (и MADDE) есть только в самосборных креаторах, я же пользуюсь снапшотами, в которых есть меню для выбора устройства Maemo, но больше ничего с этим сделать нельзя. Ну да это не проблема, сборку и запуск проекта всегда можно полностью перенастроить на кастомные шаги. Этим и займемся.

Для начала нам понадобится в нашей домашней директории в «песочнице» скрипт, который позволит нам запускать приложения в «песочнице».

Создадим файл sbox-run со следующим содержанием:

#!/bin/sh -l

# go to directory given as first arg and execute rest of the args there

cd $1

shift

# export here environment variables required by the command to execute

export DISPLAY=:2

$*

Этот скрипт принимает первым аргументом директорию где надо выполнить команду и остальными параметрами то что надо выполнить (то есть например имя бинарника с параметрами этого бинарника).

Также нам необходим механизм запуска этого скрипта извне песочницы. Скрипт называется sbox-command входит в небольшой набор утилит sbox-utils, ссылка на который есть в конце статьи. Скрипт принимает такие же параметры как и выше указанный.

Запускаем QtCreator и создаем новый проект. Нам нужно поменять все шаги сборки, очистки и запуска на прокси-вызовы через sbox-command. Делать каждый раз это слегка утомительно, поэтому был написан еще один скрипт create-qtc-project-file, который также есть в sbox-utils. Его надо запустить в папке с проектом без параметров и он создаст .pro.user-файл с минимальными настройками для QtCreator.

Теперь можно спокойно использовать QtCreator в качестве средства разработки для Maemo (не забудьте предварительно запустить Xephyr и окружение Maemo через команды указанные выше). Единственное что не покрывается этой настройкой это отладка, но в эту сторону я просто еще не копал.

Тестовое приложение на Qt в Desktop-окружении и Maemo-окружении

Было также быстренько написано тестовое приложение без всякой логики (использовался только дизайнер) для сравнения отображения приложений на десктопе и в Maemo. Ниже его скриншоты.

 

Само приложение:

 

Разработки в QtCreator для MAEMO SDK

 

Разработки в QtCreator для MAEMO SDK 

 

Открытое меню приложения:

Разработки в QtCreator для MAEMO SDK

Разработки в QtCreator для MAEMO SDK

Ссылки:

sbox-utils
исходники тестового приложения  

Источник рекомендации >>>>


>> Вернуться к оглавлению мини-сайта Nokia N900 >> Вернуться к оглавлению FAQ для Nokia N900 >>


Форумы по теме (открыть в отдельном окне)



Поиск по сайту:

Подписка:

Подписаться
Отписаться


Новости

20.02. [Новинки] Анонсы: Vivo V70 Elite — флагманский чип Snapdragon 8s Gen 3, телефото-камера и 6500 мАч в премиальном среднеценовом сегменте / MForum.ru

20.02. [Новинки] Анонсы: Vivo V70 — плоский дисплей, алюминиевая рамка, батарея 6500 мАч и ультразвуковой сканер / MForum.ru

20.02. [Новинки] Анонс: Infinix Xpad 30E — бюджетный планшет с 4G и встроенным ИИ-репетитором для образования / MForum.ru

19.02. [Новинки] Анонсы: Google Pixel 10a — Tensor G4, быстрая зарядка и семь лет обновлений по той же цене / MForum.ru

19.02. [Новинки] Анонсы: Infinix Note Edge 5G выходит в Индии с изогнутым AMOLED-экраном яркостью 4500 нит и батареей 6500 мАч / MForum.ru

18.02. [Новинки] Анонсы: Tecno Camon 50 и 50 Pro представлены официально – экран 144 Гц, 3-кратный зум, батарея 6150 мАч и защитой IP69K / MForum.ru

18.02. [Новинки] Анонсы: Lava Bold N2 4G — обновлённый дизайн, улучшенная защита и Android 15 Go за $82 / MForum.ru

18.02. [Новинки] Слухи: Infinix GT 50 Pro засветился на рендерах — карбон, 144 Гц и батарея до 6500 мАч / MForum.ru

17.02. [Новинки] Анонсы: Realme P4 Lite 4G выходит в Индии 20 февраля с батареей 6300 мАч / MForum.ru

17.02. [Новинки] Анонсы: Vivo V60 Lite первым в мире получил Snapdragon 6s 4G Gen 2 и сохраненил батарею 6500 мАч / MForum.ru

17.02. [Новинки] Слухи: Apple тестирует раскладушку iPhone Flip вдобавок к книжному iPhone Fold / MForum.ru

16.02. [Новинки] Слухи: Poco C81 Pro готовится к выходу — 4G, экран 120 Гц и батарея 6000 мАч / MForum.ru

16.02. [Новинки] Анонсы: Honor Pad X8b — неожиданное возвращение через три с половиной года и батареей на 10 100 мАч / MForum.ru

16.02. [Новинки] Анонсы: TECNO POVA Curve 2 5G — 8000 мАч в ультратонком корпусе / MForum.ru

13.02. [Новинки] Анонсы: Honor X6d — глобальная версия Play 60A с улучшенной камерой / MForum.ru

13.02. [Новинки] Анонсы: Lava Yuva Star 3 — сверхбюджетный Android 15 Go с защитой IP64 и чистым ПО / MForum.ru

12.02. [Новинки] Слухи: Samsung подтвердила анонс Galaxy S26 25 февраля, но полные спецификации и цены раскрыты до премьеры / MForum.ru

12.02. [Новинки] Анонсы: Infinix Note 60 Pro — вдохновлен iPhone и Nothing, чип от Qualcomm и батарея 6500 мАч / MForum.ru

12.02. [Новинки] Слухи: Honor 600 Lite засветился в Geekbench с чипом Dimensity 7100 и Android 16 «из коробки» / MForum.ru

11.02. [Новинки] Анонсы: Oppo K14x — эволюция бюджетника с батареей 6500 мАч и зарядкой 45 Вт / MForum.ru