Click-пакунок¶
Кожен програмний пакунок click повинен містити щонайменше 3 файли:
- файл
manifest.json Містить визначення, такі як назва програми, опис, автор, цільовий framework sdk та версія.
Example
manifest.jsonfile:{ "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 про те як запускати програму, які назва та значок повинні бути на стільниці та ще деякі властивості.
Example of
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: Вказує на тип файлу запускача. Може бути Application (програма), Link (ярлик) або Directory (каталог).
X-Ubuntu-Touch:
true, щоби програма була видимоюX-Ubuntu-XMir-Enable:
true, якщо програма створена для XX-Ubuntu-Supported-Orientations:
landscapeчиportraitдля визначення орієнтування Вашої програми під час запуску в альбомному чи портретному режимі відповідно.
Безпека та ізоляція програми¶
Усі програми Ubuntu обмежені дотриманням механізму контролю доступу Apparmor (див. Application Confinement) , що значить, що вони мають доступ тільки до своїх власних ресурсів та ізольовані від інших програм та частин систем. Розробник повинен визначити які групові політики необхідні для програми або для набору функціоналу з файлом apparmor .json.
Example apparmor.json file:
{
"policy_version": 16.04,
"policy_groups": [
"networking",
"webview",
"content_exchange"
]
}
Повний список доступних групових політик міститься у Групи політик AppArmor.