Я разрабатываю приложение для 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 как корень?
Заранее спасибо
Вы могли попытаться запустить свое приложение с неограниченный шаблон.
В Вашем файле манифеста приложения у Вас должны быть следующие строки:
"hooks": {
"myapp": {
"apparmor": "myapp.json",
"desktop": "myapp.desktop"
}
},
Тогда в myapp.json
профиль apparmor, используйте следующий отрывок:
{
"policy_groups": [],
"policy_version": 1.2,
"template": "unconfined"
}
Я наконец нашел лучшее решение, чем использование неограниченного шаблона. Это было легче, чем ожидалось..., только должен был включать "видео" как часть группы политик:
"policy_groups": [
...
"networking",
"video",
...
]
, Если, дополнительно, необходимо получить доступ к видеофайлам, можно также добавить "video_files_read" (только видеофайл чтения) или "video_files" (полный доступ).
можно проверить все доступные группы политик при разработке приложения в Ubuntu Sdk, в QtCreator, движении во вкладку Publish и двойной щелчок по app.apparmor файлу. Вы найдете + символ, который покажет Вам все политики, когда нажато. Можно найти больше информации в http://developer.ubuntu.com/publish/apps/packaging-click-apps/