Документация
ОС Аврора 3.29.2

Приложение на Flutter для ОС Аврора

После установки Flutter с поддержкой ОС Аврора можно собрать приложение, добавив поддержку ОС Аврора, или создать новое.

Создание проекта

Flutter SDK имеет интерфейс командной строки (Flutter CLI), дающий доступ к инструментам Flutter. С помощью Flutter CLI можно создать приложение из шаблонов, доступных во Flutter SDK, собрать приложение и многое другое.

Создать приложение из шаблона можно следующей командой:

flutter-aurora create --platforms=aurora --template=app --org=ru.aurora app_demo

Детали команды:

  • flutter-auroraalias, добавленный при установке;
  • create — команда для создания приложений/пакетов из шаблонов;
  • --platforms=aurora — для какой платформы создавать шаблон;
  • --template=app — тип шаблона (app,package,plugin_ffi,plugin);
  • --org=ru.aurora — имя организации (Organization name), участвует в формировании названия пакета;
  • app_demo — название приложения (Application Name), участвует в формировании названия пакета.

После выполнения команды будет создан проект из шаблона Flutter SDK, имеющий следующую структуру:

.
├── analysis_options.yaml
├── app_demo.iml
├── aurora
│   ├── CMakeLists.txt
│   ├── desktop
│   │   └── ru.aurora.app_demo.desktop
│   ├── icons
│   │   ├── 108x108.png
│   │   ├── 128x128.png
│   │   ├── 172x172.png
│   │   └── 86x86.png
│   ├── main.cpp
│   └── rpm
│       └── ru.aurora.app_demo.spec
├── lib
│   └── main.dart
├── pubspec.lock
├── pubspec.yaml
├── README.md
└── test
    └── widget_test.dart

7 directories, 15 files

Структура проекта Flutter-разработчику должна быть знакома. Исключением является директория aurora, в которой находятся файлы, обеспечивающие работу приложения на платформе ОС Аврора:

  • CMakeLists.txt — приложение Flutter для ОС Аврора имеет платформенную часть на С++, а сборка реализована через CMake;
  • desktop/ru.aurora.app_demo.desktopфайл интеграции приложения в меню. В нём можно указать название приложения, требуемые права для приложения и некоторые другие настройки;
  • icons/*.png — иконки приложения;
  • main.cpp — точка входа в приложение для ОС Аврора. Это зачастую шаблонный код для запуска всех необходимых компонентов Flutter и приложения;
  • rpm/ru.aurora.app_demo.spec — спецификация сборки RPM пакета, подобно pubspec.yaml, предназначен для конфигурации сборки пакета для ОС Аврора.

Если требуется более подробное знакомство с Flutter, начать можно со страницы документации Flutter и создать первое приложение.

Сборка приложения

Flutter CLI имеет следующие команды, участвующие в сборке:

  • pub — работа с зависимостями;
  • build — команда сборки Flutter-приложения;
  • clean — очистка временных каталогов.

Для сборки приложения предварительно нужно обновить зависимости приложения. Сделать это можно командой:

flutter-aurora pub get

Flutter обновит зависимости и выведет отчёт:

Resolving dependencies...
  flutter_lints 2.0.3 (3.0.2 available)
  lints 2.1.1 (3.0.0 available)
  matcher 0.12.16 (0.12.16+1 available)
  material_color_utilities 0.5.0 (0.11.1 available)
  meta 1.10.0 (1.14.0 available)
  path 1.8.3 (1.9.0 available)
  test_api 0.6.1 (0.7.1 available)
  web 0.3.0 (0.5.1 available)
Got dependencies!
8 packages have newer versions incompatible with dependency constraints.
Try `flutter pub outdated` for more information.

Далее можно собирать приложение командой build:

flutter-aurora build aurora --release

Детали команды:

  • flutter-auroraalias, добавленный при установке;

  • build — команда сборки приложений;

  • aurora — платформа, для которой сборка будет осуществляться;

  • --release — тип сборки проекта. Доступны следующие варианты сборки:

    • --debug — во время разработки при использовании горячей перезагрузки;
    • --profile — когда необходимо проанализировать производительность;
    • --release — когда приложение будет готово для выпуска.

После успешной выполненной задачи по сборке появится путь к файлу RPM c собранным приложением.

┌─ Result ────────────────────────────────────────────────────────────────────────────────────┐
│ ./build/aurora/psdk_5.0.0.60/aurora-arm/release/RPMS/ru.aurora.app_demo-0.1.0-1.armv7hl.rpm │
└─────────────────────────────────────────────────────────────────────────────────────────────┘

Этот путь указывает на установочный RPM-пакет, который нужно подписать и установить на эмулятор или устройство.

Инструменты

Платформа ОС Аврора, как и другие платформы, имеет свои дополнительные инструменты для работы с операционной системой. Следующие подразделы описывают особенности по работе с платформой ОС Аврора.

Целевая архитектура

Собрать проект можно под разные архитектуры. В команде сборки есть флаг: --target-platform, позволяющий указать целевую архитектуру для сборки.

По умолчанию команда build для сборки приложения на платформу ОС Аврора использует архитектуру armv7hl. Всего доступны три архитектуры для сборки на ОС Аврора:

  • armv7hl — архитектура для устройств, указать можно как --target-platform aurora-arm;
  • aarch64 — архитектура для устройств, указать можно как --target-platform aurora-arm64;
  • x86_64 — архитектура для эмулятора, указать можно как --target-platform aurora-x64.

Platform SDK

Для сборки Flutter приложений Flutter CLI использует нативную для платформы SDK — Platform SDK.

На персональный компьютер (ПК) для сборки можно установить несколько Platform SDK. По умолчанию используется та версия Platform SDK, которая указана в конфиге Flutter через команду:

flutter-aurora config --aurora-psdk-dir $HOME/AuroraPlatformSDK/sdks/aurora_psdk

Например, на ПК установлено две версии Platform SDK — 5.100 и 5.200. В параметре конфигурации aurora-psdk-dir указана версия 5.100. Для сборки приложения с версией 5.200 нужно изменить её значение:

flutter-aurora config --aurora-psdk-dir /home/user/Aurora_Platform_SDK_5.200/sdks/aurora_psdk

Добавление в проект

Поддержку платформы ОС Аврора можно добавить в уже существующий проект. Для этого необходимо в корне проекта выполнить команду Flutter CLI:

flutter-aurora create --platforms=aurora --org={ORGNAME} .

Где {ORGNAME} — имя организации (Organization name, участвует в формировании названия пакета.

Нужно учитывать, что существуют зависимые от платформы пакеты (плагины), которые разрабатываются под платформу. В существующем приложении может быть много различных плагинов, все нужно проанализировать на зависимость от операционной системы. Ознакомиться с доступными пакетами можно в разделе Поддержка Flutter для ОС Аврора.

Настройка устройств

Для добавления и настройки физических устройств на ОС Аврора, а также для последующего запуска и отладки приложений, Flutter CLI поддерживает команду aurora-devices, которая работает по аналогии с командой custom-devices.

Доступные команды aurora-devices:

  • add — добавление нового устройства;
  • delete — удаление устройства по id;
  • list — вывод списка добавленных устройств;
  • reset — сброс файла конфигурации устройств.

Настройка нового устройства:

  1. Подключить устройство на ОС Аврора к компьютеру с помощью USB-кабеля.

  2. Настроить ssh-ключ. Можно использовать существующий ключ или создать новый командой: ssh-keygen.

  3. Выполнить команду aurora-devices add и в интерактивном режиме заполнить запрашиваемые данные устройства:

    flutter-aurora aurora-devices add
    Please enter the IP address of your Aurora OS device. You can get it from Settings -> Developer Tools. (leave empty for 192.168.2.15)
    192.168.2.15
    Please enter the device port, the default is 22. (example: 22)
    22
    Please enter the path to the SSH private key used to authorized on the Aurora OS device. (leave empty for /home/user/.ssh/id_rsa)
    /home/user/.ssh/device_key
    Please enter the root user password. (example: 00000)
    00000
    Successfully added Aurora OS device to config file at "/home/user/.config/flutter/aurora_devices.json".
    
  4. Выполнить команду ssh-copy-id для копирования публичного ключа на устройство:

    ssh-copy-id -i ~/.ssh/id_rsa.pub defaultuser@192.168.2.15
    

В результате выполнения шагов в файл конфигурации устройств добавится новое устройство, готовое для работы. Файл конфигурации записывается в: ~/.config/flutter/aurora_devices.json.

Мы используем cookies для персонализации сайта и его более удобного использования. Вы можете запретить cookies в настройках браузера.

Пожалуйста ознакомьтесь с политикой использования cookies.