Paquete «click»#

Cada paquete de aplicación click debe contener al menos 3 archivos:

archivo manifest.json

Contiene declaraciones de aplicaciones tales como nombre, descripción, autor, kit de desarrollo de programas (sdk) objetivo y versión.

Ejemplo de archivo 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"
        }
    }
}
Archivo de política del perfil de «AppArmor»

Contiene la política que la aplicación necesita para funcionar correctamente. Vea Security and app isolation (seguridad y aislamiento de aplicaciones) más adelante para obtener más información sobre este archivo.

archivo .desktop

El archivo lanzador dirá a UT como lanzar la aplicación, que nombre e icono mostrar en la pantalla principal y otras propiedades.

Ejemplo de app.desktop:

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

Lista no exhaustiva de propiedades:

  • «Name» (nombre): título que la aplicación muestra en el tablero

  • «Exec» (ejecutable): ruta al archivo ejecutable

  • «Icon» (icono): ruta al icono que mostrar

  • «Terminal» (terminal): false (falso) si no se ejecutará en una ventana de terminal

  • «Type» (tipo): especifica el tipo de archivo lanzador. El tipo puede ser aplicación, enlace o directorio.

  • «X-Ubuntu-Touch»: true (verdadero) para hacer la aplicación visible

  • «X-Ubuntu-XMir-Enable»: true (verdadero) si su aplicación está hecha para X

  • X-Ubuntu-Supported-Orientations: landscape or portrait to force your app start in landscape mode and portrait mode respectively.

Seguridad y aislamiento de las aplicaciones#

All Ubuntu apps are confined respecting AppArmor access control mechanism (see Application Confinement) , meaning they only have access to their own resources and are isolated from other apps and parts of the system. The developer must declare which policy groups are needed for the app or scope to function properly with an apparmor .json file.

Ejemplo de archivo apparmor.json:

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

}

Para una lista completa de grupos de políticas disponibles, vea Grupos de políticas de «AppArmor».