AppArmor-Ablehnung beim Versuch, eine Datei mit dem Content Hub zu öffnen

AppArmor-Ablehnung beim Versuch, eine Datei mit dem Content Hub zu öffnen

Beim Versuch, eine Datei mit Content Hub in C++ zu öffnen, erhalte ich folgende Fehlermeldungen:

Opening with peer com.ubuntu.music_music_2.1.857
Sdk-Launcher> Application was resumed
Sdk-Launcher> There has been a AppArmor denial for your application.
Sdk-Launcher> Most likely it is missing a policy in the AppArmor file.
Syslog> Jun 20 19:15:23 ubuntu-phablet kernel: [ 3561.148570] type=1400 audit(1434827723.595:155): apparmor="DENIED" operation="open" profile="com.nogzatalz.downow_downow_0.8.81" name="/home/phablet/.local/share/applications/com.ubuntu.music_music_2.1.857.desktop" pid=9282 comm="downow" requested_mask="r" denied_mask="r" fsuid=32011 ouid=32011
transfer state changed to 5
Sdk-Launcher> Application was focused
transfer state changed to 5
transfer state changed to 5

Ich habe die Aufzählung Transfer::State überprüft und festgestellt, dass Status 5 „abgebrochen“ bedeutet.
Dies ist meine apparmor.json-Datei:

{
    "policy_groups": [
        "networking",
        "content_exchange",
        "content_exchange_source",
        "audio"
    ],
    "policy_version": 1.3
}

Ich verwende das Framework ubuntu-sdk-15.04-qml.
Meine App hat bis zum letzten OTA-Update einwandfrei funktioniert. Auf meinem Nexus 5 ist dies r20.
Jede Hilfe ist willkommen!

EDIT: Nachdem ich eine Weile versucht hatte, dieses Problem zu lösen, bemerkte ich, dass ich zwar Inhalte aus anderen Anwendungen importieren kann, der Export aber immer noch nicht zu funktionieren scheint.
Hier ist mein vereinfachter Code zum Importieren (der funktioniert):

QPointer<cuc::Hub> hub = cuc::Hub::Client::instance();
cuc::Peer peer = hub->default_source_for_type(cuc::Type::Known::pictures());
cuc::Transfer * t = hub->create_import_from_peer(peers);
t->start();

Hier ist mein vereinfachter Code zum Exportieren (der nicht funktioniert):

 QPointer<cuc::Hub> hub = cuc::Hub::Client::instance();
 QVector<cuc::Peer> peers = hub->known_destinations_for_type(cuc::Type::Known::pictures());
 cuc::Transfer * t = hub->create_export_to_peer(peers[0]);
 QVector<cuc::Item> items;
 items.append(cuc::Item(QUrl::fromLocalFile("/home/phablet/.local/share/com.nogzatalz.downow/download/Ed Sheeran – 5 (2015) (ALBUM) 320 KBPS/Cover.jpg")));
 t->setSelectionType(cuc::Transfer::single);
 t->charge(items);

Antwort1

In meiner manifest.json musste ich eine Eigenschaft namens „ content-hubHooks“ hinzufügen:

"content-hub": "hub.json"

Und dann erstellen Sie eine hub.jsonDatei:

{
    "source": [ "pictures" ]
}

verwandte Informationen