Этот пост участвует в конкурсе "Умные телефоны за умные посты" и в нем я хочу рассказать о настройке средств разработки приложений для MeeGo Harmattan, операционной системы нового телефона Nokia N9. Настройку будем производить на Windows Vista (думаю, что для более популярной Windows 7 отличия будут несущественными). В документации для разработчиков под Harmattan в основном фигурирует Linux, поэтому данная статья будет хорошим дополнением для разработчиков, предпочитающих или по каким-либо другим причинам использующих операционные системы от Microsoft.
Для настройки нам потребуется только лишь:
1. Qt SDK update 1.1.4
2. Телефон Nokia N9 с интернет-соединением
Перед началом настройки я рекомендую удалить предыдущую версию Qt SDK, если она у вас стояла. У меня при первой попытке установить tool chain стояла версия Qt SDK 1.1.3, и при ее обновлении до более новой версии я не смог получить желаемый результат. Не работал эмулятор, и установка приложения на устройство завершалась неудачно.
1. Конфигурация начинается с установки Qt SDK. При установке этого программного продукта я не включал tool chain для Symbian, использовал только конфигурацию для Harmattan и мне этого хватило. Наиболее важные пункты показаны на скриншоте. Дальше все стандартно: «Далее > Далее > Завершить».
![](https://habrastorage.org/r/w1560/storage1/9fd0ea51/7e9e962f/1d17bdb6/cecf9d3b.png)
(картинки кликабельны)
2. Когда Qt SDK установлен, переходим к настройке телефона. Для этого нужно включить режим «разработчика». Замечу, что этот режим лучше всего включать только на время разработки, так как он увеличивает уязвимость системы. Для включения этого режима открываем «Параметры > Безопасность > Режим Разработчика» и включаем этот режим.
![](https://habrastorage.org/r/w1560/storage1/250e5bbf/5523cfc3/c94f41f9/4606518d.png)
Операционная система уведомит вас о возможных рисках, установит необходимые пакеты и перезагрузится. Хотя у меня и установлены Debugging, Networking и Utilities, все это не обязательно. Главное, что после перезагрузки в основном меню телефона появится SDK Connectivity, который нам понадобится на следующем шаге конфигурации сетевого соединения.
3. Настройку сети рекомендуется производить вручную. По крайней мере, такой метод описан в блоге Qt, что для меня остается загадкой, потому как поднять DHCP сервер на Linux (коим является Harmattan) совершенно несложно, и эту часть можно было с легкостью автоматизировать. Для настройки сети можно выбрать два типа соединения:
a. Проводное соединение с использованием USB.
b. Беспроводное соединение с использованием WiFi.
Я для своих опытов использовал соединение USB. Для настройки соединения необходимо сначала соединить телефон с компьютером и выбрать «SDK mode» на телефоне, после чего открыть «Центр управления сетями и общим доступом». В открывшемся окне справа нажать «Управление сетевыми подключениями», откроется окно проводника, в котором будут перечислены ваши сетевые подключения. Одно из этих соединений будет привязано к сетевому адаптеру «Nokia Ethernet/RNDIS based Device» — это можно проверить в свойствах сетевого подключения. Когда нужное сетевое соединение найдено, приступаем к его конфигурации. Для этого нам необходимо будет установить статический IP адрес с маской подсети. Чтобы сделать это, в окне свойств соединения выбираем протокол IPv4 и нажимаем «Свойства», после чего устанавливаем нужные значения, как это показано на скриншоте, и нажимаем «Применить».
![](https://habrastorage.org/r/w1560/storage1/f0309e49/4c219932/1b6bc091/13b88e86.png)
4. После шагов, описанных выше, между вашим компьютером и телефоном будет создано соединение по локальной сети. Остается только сконфигурировать Qt Creator для работы с мобильным телефоном. Для этого нужно открыть его зайти в меню «Инструменты > Параметры > Linux-устройства». После этого нажимаем «Добавить конфигурацию». Выбираем новую конфигурацию для «Устройства с поддержкой MADDE» и запускаем мастер конфигурации. В окне мастера вводим название конфигурации — в моем случае «Nokia N9» (название произвольное, я выбрал название телефона). Также важно проверить, что выбран пункт «Реальное устройство». Все остальные параметры оставляем без изменения.
![](https://habrastorage.org/r/w1560/storage1/81940e2c/840296c8/28253315/51d4c9bc.png)
Qt Creator использует SSH соединения для получения доступа к телефону, поэтому на следующей странице мастер создания конфигурации предлагает сгенерировать ключи аутентификации. Выбираем ответ «Нет», потому что мы создаем соединение в первый раз.
![](https://habrastorage.org/r/w1560/storage1/4676aebe/2e6a0eca/57dea2fc/fdf709a5.png)
На следующей странице выбираем создать новую пару ключей, выбираем каталог, в который мы хотим сохранить ключи, и нажимаем «Создать». Настройка ключей SSH завершена, теперь переходим к фазе передачи ключа телефону. На этом этапе нужно внимательно следовать инструкциям, описанным на последней странице мастера:
a. Подключить телефон в режиме «SDK mode».
b. Открыть приложение «SDK Connectivity».
c. Выбрать вид подключения (в моем случае USB).
d. На экране телефона будет предложен пароль, который нужно ввести в мастер настройки конфигурации Qt Creator'а.
e. После этого нажимаем «Установить ключ» и «Далее». На этом конфигурация закончена.
![](https://habrastorage.org/r/w1560/storage1/9cd2a45a/b71f78a1/59360b6c/49db440a.png)
5. Последним шагом будет проверка работоспособности конфигурации. Для этого создаем тестовый проект: открываем меню «Файл > Новый файл или проект», выбираем тип проекта приложение Qt Quick (мне кажется, это самая лучшая технология для разработки простых приложений для Harmattan). Далее следуем инструкциям мастера создания нового проекта. Я выбрал проект с элементами специально для MeeGo Harmattan и иконкой по умолчанию.
![](https://habrastorage.org/r/w1560/storage1/728b8108/cd4154c0/a35078c5/8db1b046.png)
![](https://habrastorage.org/r/w1560/storage1/fa5ecb9c/4254720d/3a031320/a4d6e51d.png)
![](https://habrastorage.org/r/w1560/storage1/c9904cd4/376d03f9/e26e2f46/e72bae8c.png)
6. После создания проекта остается только выбрать активную конфигурацию Harmattan и нажать кнопку «Запустить проект». Qt Creator соберет проект, создаст Debian пакет, скопирует его на телефон, установит и запустит приложение. После чего можно будет увидеть его запущенным на своем Nokia N9.
![](https://habrastorage.org/r/w1560/storage1/08fbf2f3/76f4407d/f8bf320f/34edd77a.png)
В конце хочется отметить работу проделанную командой Qt. Я считаю, что сейчас средства разработки под Harmattan вполне работоспособны, и ими можно и нужно пользоваться для разработки своих проектов. (Я разрабатывал приложения с использованием Scratch-Box, и это было далеко не так просто и удобно). Надеюсь, что данная статья окажется полезной и поможет тем, кто собирался начать свой проект, но не решался сделать первый шаг. Мне кажется, что сейчас это сделать как никогда просто.
P.S. Для того, чтобы удалить установленное приложение, нужно пойти в «Настройки > Приложения > Управление приложениями».
1. Библиотека разработчика под Harmattan
2. Документация Qt
Предварительно
Для настройки нам потребуется только лишь:
1. Qt SDK update 1.1.4
2. Телефон Nokia N9 с интернет-соединением
Перед началом настройки я рекомендую удалить предыдущую версию Qt SDK, если она у вас стояла. У меня при первой попытке установить tool chain стояла версия Qt SDK 1.1.3, и при ее обновлении до более новой версии я не смог получить желаемый результат. Не работал эмулятор, и установка приложения на устройство завершалась неудачно.
Настройка
1. Конфигурация начинается с установки Qt SDK. При установке этого программного продукта я не включал tool chain для Symbian, использовал только конфигурацию для Harmattan и мне этого хватило. Наиболее важные пункты показаны на скриншоте. Дальше все стандартно: «Далее > Далее > Завершить».
![](https://habrastorage.org/storage1/9fd0ea51/7e9e962f/1d17bdb6/cecf9d3b.png)
(картинки кликабельны)
![](https://habrastorage.org/storage1/b825b795/e5d088d4/36c2eab8/024edf3b.png)
![](https://habrastorage.org/storage1/75815685/960787c2/086b27c6/417fce2d.png)
![](https://habrastorage.org/storage1/7491dfa5/b5af1500/883bc444/dce18d8c.png)
![](https://habrastorage.org/storage1/250e5bbf/5523cfc3/c94f41f9/4606518d.png)
Операционная система уведомит вас о возможных рисках, установит необходимые пакеты и перезагрузится. Хотя у меня и установлены Debugging, Networking и Utilities, все это не обязательно. Главное, что после перезагрузки в основном меню телефона появится SDK Connectivity, который нам понадобится на следующем шаге конфигурации сетевого соединения.
3. Настройку сети рекомендуется производить вручную. По крайней мере, такой метод описан в блоге Qt, что для меня остается загадкой, потому как поднять DHCP сервер на Linux (коим является Harmattan) совершенно несложно, и эту часть можно было с легкостью автоматизировать. Для настройки сети можно выбрать два типа соединения:
a. Проводное соединение с использованием USB.
b. Беспроводное соединение с использованием WiFi.
Я для своих опытов использовал соединение USB. Для настройки соединения необходимо сначала соединить телефон с компьютером и выбрать «SDK mode» на телефоне, после чего открыть «Центр управления сетями и общим доступом». В открывшемся окне справа нажать «Управление сетевыми подключениями», откроется окно проводника, в котором будут перечислены ваши сетевые подключения. Одно из этих соединений будет привязано к сетевому адаптеру «Nokia Ethernet/RNDIS based Device» — это можно проверить в свойствах сетевого подключения. Когда нужное сетевое соединение найдено, приступаем к его конфигурации. Для этого нам необходимо будет установить статический IP адрес с маской подсети. Чтобы сделать это, в окне свойств соединения выбираем протокол IPv4 и нажимаем «Свойства», после чего устанавливаем нужные значения, как это показано на скриншоте, и нажимаем «Применить».
![](https://habrastorage.org/storage1/e1a24276/762fa3d2/d1e26907/6a30f6d5.png)
![](https://habrastorage.org/storage1/f0309e49/4c219932/1b6bc091/13b88e86.png)
4. После шагов, описанных выше, между вашим компьютером и телефоном будет создано соединение по локальной сети. Остается только сконфигурировать Qt Creator для работы с мобильным телефоном. Для этого нужно открыть его зайти в меню «Инструменты > Параметры > Linux-устройства». После этого нажимаем «Добавить конфигурацию». Выбираем новую конфигурацию для «Устройства с поддержкой MADDE» и запускаем мастер конфигурации. В окне мастера вводим название конфигурации — в моем случае «Nokia N9» (название произвольное, я выбрал название телефона). Также важно проверить, что выбран пункт «Реальное устройство». Все остальные параметры оставляем без изменения.
![](https://habrastorage.org/storage1/1ef99414/b76e026d/b8237668/13a617b5.png)
![](https://habrastorage.org/storage1/81940e2c/840296c8/28253315/51d4c9bc.png)
Qt Creator использует SSH соединения для получения доступа к телефону, поэтому на следующей странице мастер создания конфигурации предлагает сгенерировать ключи аутентификации. Выбираем ответ «Нет», потому что мы создаем соединение в первый раз.
![](https://habrastorage.org/storage1/238eec19/1cb2269d/bb65c25d/fbe64edc.png)
![](https://habrastorage.org/storage1/4676aebe/2e6a0eca/57dea2fc/fdf709a5.png)
На следующей странице выбираем создать новую пару ключей, выбираем каталог, в который мы хотим сохранить ключи, и нажимаем «Создать». Настройка ключей SSH завершена, теперь переходим к фазе передачи ключа телефону. На этом этапе нужно внимательно следовать инструкциям, описанным на последней странице мастера:
a. Подключить телефон в режиме «SDK mode».
b. Открыть приложение «SDK Connectivity».
c. Выбрать вид подключения (в моем случае USB).
d. На экране телефона будет предложен пароль, который нужно ввести в мастер настройки конфигурации Qt Creator'а.
e. После этого нажимаем «Установить ключ» и «Далее». На этом конфигурация закончена.
![](https://habrastorage.org/storage1/67dc1700/7f3c48a9/800c3440/42bf9423.png)
![](https://habrastorage.org/storage1/9cd2a45a/b71f78a1/59360b6c/49db440a.png)
5. Последним шагом будет проверка работоспособности конфигурации. Для этого создаем тестовый проект: открываем меню «Файл > Новый файл или проект», выбираем тип проекта приложение Qt Quick (мне кажется, это самая лучшая технология для разработки простых приложений для Harmattan). Далее следуем инструкциям мастера создания нового проекта. Я выбрал проект с элементами специально для MeeGo Harmattan и иконкой по умолчанию.
![](https://habrastorage.org/storage1/21833f97/ec3b4b44/d41d4e20/b0116d33.png)
![](https://habrastorage.org/storage1/728b8108/cd4154c0/a35078c5/8db1b046.png)
![](https://habrastorage.org/storage1/11631578/fd3c08f8/dc76aa61/57df056a.png)
![](https://habrastorage.org/storage1/fa5ecb9c/4254720d/3a031320/a4d6e51d.png)
![](https://habrastorage.org/storage1/57d8a94b/a317c616/e693e379/45aea39a.png)
![](https://habrastorage.org/storage1/c9904cd4/376d03f9/e26e2f46/e72bae8c.png)
![](https://habrastorage.org/storage1/3973a143/c5ffb218/f5d8d6f2/cff85350.png)
![](https://habrastorage.org/storage1/7cfb09e5/1ca72849/c82fe65e/9ac05ab1.png)
![](https://habrastorage.org/storage1/08fbf2f3/76f4407d/f8bf320f/34edd77a.png)
В конце хочется отметить работу проделанную командой Qt. Я считаю, что сейчас средства разработки под Harmattan вполне работоспособны, и ими можно и нужно пользоваться для разработки своих проектов. (Я разрабатывал приложения с использованием Scratch-Box, и это было далеко не так просто и удобно). Надеюсь, что данная статья окажется полезной и поможет тем, кто собирался начать свой проект, но не решался сделать первый шаг. Мне кажется, что сейчас это сделать как никогда просто.
P.S. Для того, чтобы удалить установленное приложение, нужно пойти в «Настройки > Приложения > Управление приложениями».
Полезные ссылки
1. Библиотека разработчика под Harmattan
2. Документация Qt