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
, если приложение скомпилировано для XX-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.