Примеры и демо-приложения
В данной статье описывается процесс получения, открытия и запуска демонстрационных приложений и примеров для ОС Аврора.
Содержание:
- Предварительные требования
- Структура демонстрационных приложений
- Запуск Aurora IDE
- Демонстрационные приложения, поставляемые с Aurora SDK
- Клонирование репозитория приложения
- Открытие приложения на Qt
- Запуск проекта в эмуляторе Aurora SDK
- Запуск проекта в Aurora SDK на реальных устройствах
- Запуск приложения на Flutter
- Ветвление в Git-репозитории проекта
- Возможные проблемы
Предварительные требования
Для успешного выполнения описанных ниже действий необходимо убедиться, что установлены и настроены следующие компоненты:
- Git — система контроля версий.
- Aurora SDK версии 5.2.1.200 — основной набор инструментов.
Для запуска приложений и примеров, написанных на Flutter, также должны быть установлены и настроены следующие компоненты:
- Aurora Platform SDK версии 5.2.1.200 — основной набор инструментов для сборки приложений на Flutter.
- Flutter SDK для ОС Аврора версии 3.35.7.2 — дистрибутив Flutter, поддерживающий создание и запуск приложений на Flutter в ОС Аврора.
Структура демонстрационных приложений
Mos.Hub — это платформа для совместной разработки. На ней размещаются проекты и демонстрационные приложения для ОС Аврора. Эти материалы предназначены для изучения принципов работы с различными библиотеками и API, а также демонстрируют лучшие практики решения типовых функциональных задач. Список демонстрационных приложений представлен на портале разработчика, где на странице каждого проекта приводится его описание и ссылка на репозиторий Mos.Hub.
Демонстрационные проекты разделены на следующие группы:
- Демонстрационные приложения — небольшие приложения, демонстрирующие конкретные технические решения.
- Примеры — полнофункциональные приложения, которые могут использоваться в качестве лучших практик для решения функциональных задач для ОС Аврора.
- Примеры Extra — полнофункциональные приложения с расширенными зависимостями, поэтому они не поставляются через SDK.
- Приложения на Flutter — приложения, которые могут использоваться в качестве лучших практик для разработки приложений на Flutter для ОС Аврора.
Также примеры могут быть загружены через IDE. Через IDE их можно собирать.
Инструменты для проверки и форматирования исходного кода для работы с проектами примеров доступны в репозитории Project Formatter.
Запуск Aurora IDE
Основным приложением Aurora SDK является Aurora IDE. Оно используется для работы с проектами приложений и взаимодействия с устройствами и эмуляторами.
Для запуска Aurora IDE необходимо использовать графический интерфейс или указать полный путь к исполняемому файлу через командную строку.
Запуск Aurora IDE через графический интерфейс
- Открыть панель запуска приложений Ubuntu.
- Ввести Aurora IDE.
- Выбрать соответствующий значок, как показано на скриншоте.

Запуск Aurora IDE из командной строки
Путь к исполняемому файлу Aurora IDE — bin/qtcreator в папке с установленным
Aurora SDK. Если путь установки по умолчанию не был изменен,
то полный путь к исполняемому файлу будет выглядеть так: ~/AuroraOS/bin/qtcreator.
- Запустить приложение «Терминал».
- Ввести полный путь к приложению в качестве команды.
Демонстрационные приложения, поставляемые с Aurora SDK
При запуске Aurora IDE на странице приветствия предоставляется доступ к интегрированным проектам, поставляемым вместе с набором инструментов разработчика. Проекты представлены в виде сетки графических плиток. Каждая плитка содержит значок приложения, его название и набор тегов, характеризующих используемый технологический стек (например, «Qt example», «QML», «C++»). Для перехода к списку интегрированных приложений необходимо переключиться на вкладку Примеры.

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

Доступны две основные категории: Примеры ОС Аврора и Демо-приложения ОС Аврора. Различие между этими списками определяется их назначением:
- Примеры ОС Аврора — это полнофункциональные приложения, выступающие в качестве эталонных реализаций для решения типовых задач разработки для ОС Аврора.
- Демо-приложения ОС Аврора — это узкоспециализированные небольшие проекты, предназначенные для демонстрации работы конкретных технических решений, библиотек или программных интерфейсов (API).
Необходимый проект можно найти путем визуального просмотра списка с помощью вертикальной прокрутки. Если известно название проекта или ключевое слово, следует использовать строку поиска Поиск в примерах..., расположенную справа от раскрывающегося списка. По мере ввода текста список плиток динамически фильтруется.

Для открытия выбранного примера необходимо нажать на соответствующую плитку. Поскольку исходные файлы интегрированных примеров защищены от записи, среда разработки отобразит диалоговое окно Скопировать проект в доступную для записи папку?, предлагая скопировать проект в пользовательский каталог для дальнейшего изменения.

После подтверждения пути и нажатия кнопки копирования Aurora IDE выполнит операцию и автоматически переключится в режим настройки проекта.

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

Клонирование репозитория приложения
Ниже рассматривается процесс работы с репозиторием приложения на примере Application Template из группы Демо-приложения.
- Со страницы приложения на портале разработчика перейти на страницу проекта на платформе mos.hub.

- На странице репозитория получить ссылку на репозиторий, нажав кнопку Clone (Клонировать).

-
Открыть приложение терминала и перейти в рабочий каталог Aurora SDK.
-
Клонировать репозиторий на локальный компьютер, выполнив команду:
git clone https://hub.mos.ru/auroraos/demos/ApplicationTemplate.git
Открытие приложения на Qt
Для открытия клонированного приложения на Qt необходимо выполнить следующие шаги:
- В главном окне Aurora IDE выбрать пункт меню Файл → Открыть файл или проект....

- В открывшемся окне найти каталог приложения ApplicationTemplate и нажать кнопку Открыть.

- Большинство примеров используют систему сборки qmake. Для таких примеров необходимо выбрать файл с расширением .pro и нажать кнопку Открыть. Некоторые примеры используют систему сборки CMake. Для таких примеров следует выбрать файл CMakeLists.txt.

- В открывшемся окне настройки проекта представлены доступные наборы для сборки приложения.
Aurora SDK поддерживает следующие наборы для сборки приложений:
- armv7hl (32-бит) и aarch64 (64-бит) — архитектуры процессоров мобильных устройств под управлением ОС Аврора. При сборке для реальных устройств необходимо выбрать эти параметры.
- x86_64 — архитектура хост-машины, используемая только для запуска приложения в эмуляторе.
После выбора необходимого набора для сборки нажать кнопку Настроить проект.

- Работу над проектом можно начать в окне Aurora IDE в режиме Редактирование. Выбор режима доступен на левой панели IDE.

Можно редактировать исходный код приложения, запускать его в эмуляторе или на устройстве.
Запуск проекта в эмуляторе Aurora SDK #
Шаг 1. Настройка сборки x86_64
Для запуска приложения в эмуляторе проект должен быть настроен на сборку для архитектуры x86_64.
- На левой панели выбрать раздел Проекты.
- В списке Сборка и запуск убедиться, что сборка для x86_64 отображается обычным или жирным шрифтом. Если сборка отображается серым цветом, ее необходимо включить, нажав на нее.

Шаг 2. Активация сборки x86_64
Если приложение настроено на выполнение сборок для нескольких архитектур, необходимо убедиться, что сборка x86_64 активна.
- Нажать на кнопку с изображением мобильного устройства.
- Выбрать набор AuroraOS-…-x86_64.
- При необходимости также можно изменить тип сборки.

Шаг 3. Запуск приложения
Для запуска приложения в эмуляторе необходимо нажать на кнопку с зеленым треугольником.

- Приложение будет собрано для архитектуры x86_64.
- Если эмулятор не запущен, Aurora IDE запустит его.
- Приложение будет установлено на эмулятор и запущено.

Взаимодействовать с приложением можно с помощью мыши.
Запуск проекта в Aurora SDK на реальных устройствах
В инструкции описан процесс настройки для архитектуры aarch64,
но процесс идентичен для armv7hl.
Шаг 1. Добавление устройства с ОС Аврора в IDE
Для запуска приложения на реальном устройстве под управлением ОС Аврора необходимо сначала установить соединение между устройством и IDE. Оба должны быть подключены к одной локальной сети. Соединение между устройством и IDE устанавливается через WLAN.
- В главном окне Aurora IDE выбрать пункт меню Правка → Настройки....

- В отображенном окне перейти в раздел Устройства и нажать кнопку Добавить.

- Выбрать Устройство ОС Аврора и запустить мастер добавления устройства,0 нажав кнопку Запустить мастер.

- Ввести адрес устройства с ОС Аврора в локальной сети в поле Имя хоста или IP-адрес.

Этот адрес можно найти на самом устройстве с ОС Аврора, перейдя в настройки в раздел Режим разработчика → Настройка соединения.

На экране Настройка соединения отображается адрес устройства в сети WLAN.

После ввода адреса устройства с ОС Аврора нажать кнопку Далее в мастере добавления устройства.
- На устройство необходимо добавить пару ключей. Создать ее можно, нажав кнопку Создать новую пару ключей.

- В открывшемся окне нажать Сгенерировать и сохранить пару ключей.

- Сгенерированную пару ключей необходимо установить на устройство с ОС Аврора. Для этого нажать кнопку Развернуть открытый ключ.

- После успешной установки нажать кнопку Далее.

- На экране указано, какое устройство подготовлено для работы в Aurora SDK. Нажать кнопку Далее.

- Проверить данные, полученные в ходе настройки, и нажать кнопку Next (Далее).

- Завершить работу мастера и нажать кнопку Готово.

- Aurora IDE проверит соединение. После успешной проверки нажать кнопку Закрыть.

Устройство с ОС Аврора добавлено и может использоваться для развертывания приложений.
Шаг 2. Запуск приложения
Для запуска приложения необходимо выбрать набор для сборки, соответствующий операционной системе мобильного устройства. В данном примере рассматривается набор с названием, оканчивающимся на -aarch64.
- В левом нижнем углу IDE нажать на кнопку с изображением смартфона.
- В открывшемся меню выбрать требуемую архитектуру. Для этого нажать Aurora-OS-…-aarch64.
- В верхней части меню указать устройство для запуска. Использовать раскрывающееся меню Run device (Устройство запуска) и выбрать устройство, добавленное в первом шаге запуска.

Запуск приложения на Flutter
Рассмотрим запуск приложения на Flutter на эмуляторе на примере App Template.
Для открытия и запуска приложения на Flutter необходимо выполнить следующие шаги:
- Клонировать репозиторий проекта, как описано в разделе Клонирование репозитория приложения.
- Перейти в каталог клонированного проекта. Через интерфейс командной строки выполнить:
cd app_template
-
Перед сборкой приложения необходимо обновить зависимости приложения.
Flutter CLI предоставляет следующие команды, участвующие в процессе сборки:
- pub — управление зависимостями;
- build — команда сборки приложения на Flutter;
- clean — очистка временного каталога.
Для обновления зависимостей приложения выполнить команду:
flutter-aurora pub get -
Поскольку развертывание приложения будет происходить на эмуляторе, его необходимо запустить заранее. Это можно сделать через графический пользовательский интерфейс Aurora IDE. Запустить Aurora IDE, как описано в разделе Запуск Aurora IDE.
-
В главном окне Aurora IDE выбрать пункт меню Правка → Настройки....

-
В отображенном окне перейти в раздел Устройства, выбрать эмулятор из раскрывающегося списка и нажать кнопку Запустить эмулятор.

-
С помощью интерфейса командной строки подключить эмулятор для работы с Flutter:
flutter-aurora config --enable-aurora-devices -
Выполнить команду для сборки и запуска приложения:
flutter-aurora runПосле сборки и запуска приложение будет отображено в окне эмулятора.

Ветвление в Git-репозитории проекта
Примеры приложений имеют следующий набор веток:
- example — содержит набор коммитов, которые пошагово реализуют функциональность примера;
- example_{os_version} — создается, если проект из ветки example несовместим с какой-либо из поддерживаемых версий ОС;
- example_next — создается для будущих версий ОС, если функциональность несовместима с текущей версией ОС;
- dev и другие ветки — ветки для обновления и поддержки примеров; не рекомендуется использовать версии примеров из этих веток, так как они предназначены для целей разработки.
Для просмотра списка всех доступных локальных и удаленных веток:
-
Открыть приложение терминала.
-
Перейти в каталог проекта.
-
Выполнить команду вывода списка веток:
git branch -a
Для переключения ветки:
-
Выбрать необходимую ветку из приведенного выше списка.
-
Переключиться на существующие локальные ветки или создать локальную копию удаленной ветки с помощью команды
switch. Для использования ветки example выполнить следующую команду:git switch example
Возможные проблемы
На Windows может возникнуть проблема с git clone из-за символической ссылки.
Пример команды:
git clone git@hub.mos.ru:auroraos/demos/StreamCamera.git
Возможный текст ошибки:
error: invalid path 'libs/ffmpeg/lib/libavcodec.so.'
fatal: unable to checkout working tree
warning: Clone succeeded, but checkout failed.
Решением проблемы будет добавление опции -c core.protectNTFS=false:
git clone -c core.protectNTFS=false git@hub.mos.ru:auroraos/demos/StreamCamera.git