Полномочия для thumbnailer на устройстве

Я разрабатываю приложение для U-касания, которое получает миниатюру от видео в коде C++ с помощью libthumbnailer системную библиотеку. Приложение делает thumbnailing отлично в моем компьютере, но когда я пытаюсь выполнить ту часть в устройстве, я добираюсь

(vs-thumb:5759): GLib-ERROR **: /build/buildd/glib2.0-2.41.5/./glib/gmem.c:353: overflow allocating 4294967274*8 bytes

оконечный названный после броска экземпляра 'станд.:: runtime_error', что (): Неизвестная ошибка при попытке извлечь видео снимок экрана, возвращаемое значение равнялось 133.

Если я вхожу с оболочкой adb, и я пытаюсь сделать это вручную:

/usr/lib/arm-linux-/gnueabihf/thumbnailer/vs-thumb video.mp4 thumb.jpg

я получаю ошибку:

Error creating thumbnail: Failed to preroll.

Но если я выполняю ту же консольную операцию как su, она работает. Таким образом, я подозреваю, что-то о полномочиях приложения. Кто-либо знает, как я должен настроить apparmor (или какой-либо другой материал, в котором я нуждаюсь) для того, чтобы иметь полномочия выполнить этот thumbnailer как корень?

Заранее спасибо

2
задан 6 November 2014 в 04:16

2 ответа

Вы могли попытаться запустить свое приложение с неограниченный шаблон.

В Вашем файле манифеста приложения у Вас должны быть следующие строки:

"hooks": {
    "myapp": {
        "apparmor": "myapp.json",
        "desktop": "myapp.desktop"
    }
},

Тогда в myapp.json профиль apparmor, используйте следующий отрывок:

{
    "policy_groups": [],
    "policy_version": 1.2,
    "template": "unconfined"
}

См.: Заключение Приложения

2
ответ дан 6 October 2019 в 13:52

Я наконец нашел лучшее решение, чем использование неограниченного шаблона. Это было легче, чем ожидалось..., только должен был включать "видео" как часть группы политик:

    "policy_groups": [
        ... 
        "networking",
        "video",
        ...
    ]

, Если, дополнительно, необходимо получить доступ к видеофайлам, можно также добавить "video_files_read" (только видеофайл чтения) или "video_files" (полный доступ).

можно проверить все доступные группы политик при разработке приложения в Ubuntu Sdk, в QtCreator, движении во вкладку Publish и двойной щелчок по app.apparmor файлу. Вы найдете + символ, который покажет Вам все политики, когда нажато. Можно найти больше информации в http://developer.ubuntu.com/publish/apps/packaging-click-apps/

2
ответ дан 6 October 2019 в 13:52

Другие вопросы по тегам:

Похожие вопросы: