Click-пакет

Каждое приложение, распространяемое в виде click-пакета, должно содержать как минимум 3 файла:

файл manifest.json

Здесь содержится описание важных параметров приложения - название, описание, автор, версия и framework sdk target.

Пример файла manifest.json:

{
    "name": "myapp.author",
    "title": "App Title",
    "version": "0.1"
    "description": "Description of the app",
    "framework": "ubuntu-sdk-16.04",
    "maintainer": "xxxx <xxx@xxxx>",
    "hooks": {
        "myapp": {
            "apparmor": "apparmor.json",
            "desktop": "app.desktop"
        }
    }
}
Файл политики профиля AppArmor

Здесь указано, с какой политикой приложение должно работать правильно. См. ниже раздел`Безопасность и изоляция приложения`_ для получения дополнительной информации об этом файле.

файл ``.desktop`

Файл лаунчера сообщит UT, как запускать приложение, какое название и значок отобразить на домашнем экране, а также некоторые другие свойства.

Пример файла app.desktop:

[Desktop Entry]
Name=Application title
Exec=qmlscene qml/Main.qml
Icon=assets/logo.svg
Terminal=false
Type=Application
X-Ubuntu-Touch=true

Неполный список свойств:

  • Name:заголовок приложения показан в графе «-«

  • Exec: путь к исполняемому файлу

  • Icon: Путь к иконке для вывода на экран устройства

  • Terminal: если установлено значение false, то приложение не будет запускаться в окне терминала

  • Type:Определяет тип исполняемого файла. Это может быть приложение, ссылка или каталог.

  • X-Ubuntu-Touch: должно быть установлено значение true, чтобы сделать приложение видимым

  • X-Ubuntu-XMir-Enable: должно быть установлено значение true, если приложение скомпилировано для X

  • X-Ubuntu-Supported-Orientations: опции landscape или portrait отвечают за запуск приложения в ландшафтном или портретном режимах соответственно.

Безопасность и изоляция приложения

Работа всех приложений Ubuntu ограничена соблюдением механизма контроля доступа AppArmor (подробнее смотрите раздел Application Confinement). Это значит, что они имеют доступ только к своим ресурсам и изолированы от других приложений и частей системы. Разработчик должен указать, какие группы политик необходимы для правильной работы приложения в файле политики apparmor с расширением .json.

Пример файла apparmor.json:

{
    "policy_version": 16.04,
    "policy_groups": [
        "networking",
        "webview",
        "content_exchange"
    ]

}

Полный список доступных групп политик см. в разделе :doc: apparmor.