Некоторое время назад для Maemo был выпущен Qt4.6.2. Под катом вы найдете инструкцию по установке 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 .И первый запускаем от имени root, указав пользователя, которому будет предоставлен доступ к песочнице с SDK:/maemo-scratchbox-install_5.0.sh .
/maemo-sdk-install_5.0.sh
sudo .Скрипт установит песочницу через apt и установит ее в /scratchbox. Меня такое положение дел немного не устраивало и я сделал эту директорию ссылкой на /home/scratchbox (из-за постоянной нехватки места на корневом разделе)./maemo-scratchbox-install_5.0.sh -u tass
Скрипт также добавит указанного пользователя в группу.
сбокс , но для того, чтобы он был виден в этой группе, необходимо либо авторизоваться, либо просто указать системе, что мы в ней находимся:
newgrp sboxТеперь запустим второй скрипт:
.Теперь нам нужно зайти в песочницу и установить на эмулятор необходимые пакеты./maemo-sdk-install_5.0.sh
Вход прост:
/scratchbox/loginЧтобы загрузить пакеты, нам сначала необходимо подтвердить ваше согласие с Лицензионное соглашение .
После подтверждения сайт выдаст нам строку, похожую на
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Рабочий стол n900 появится в черном окне Xephyr (английский язык советую оставить, так как русский перевод почему-то неполный и многие надписи будут отображаться по своим идентификаторам).
Также есть определенная проблема с цветами (там, где должен быть синий цвет, иногда появляется оранжевый, у иконок сверху «шлейф» и прочие подобные артефакты.
Но на общую работу это не влияет и тестирование приложений может пройти вполне сносно) .
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. Делать это каждый раз немного утомительно, поэтому был написан еще один скрипт create-qtc-project-file, который тоже есть в sbox-utils. Его необходимо запустить в папке проекта без параметров, и он создаст файл .
pro.user с минимальными настройками для QtCreator. Теперь вы можете смело использовать QtCreator в качестве инструмента разработки для Maemo (не забудьте предварительно запустить Xephyr и среду Maemo с помощью команд, указанных выше).
Единственное, на что не распространяется эта настройка, — это отладка, но я просто пока не копал в этом направлении.
Тестовое приложение на Qt в среде рабочего стола и среде Maemo
Также было быстро написано тестовое приложение без всякой логики (использовался только дизайнер) для сравнения отображения приложений на десктопе и в Maemo. Ниже приведены его скриншоты.
Само приложение:
Открыть меню приложения:
Ссылки
sbox-utils тестовые источники приложения Теги: #maemo #Maemo 5 #scratchbox #Qt #qt4 #qtcreator #linux #Debian #Nokia #Qt-
Что Такое Seo В Цифровом Маркетинге?
19 Oct, 24 -
Скрипт Для Сообщества?
19 Oct, 24 -
Еженедельный Подкаст №68
19 Oct, 24