Моя система сборки, которая использует meson, помещает некоторые файлы, необходимые моему приложению, в AppDir под AppDir/usr/share/myapp/resources
. Приложению необходимо и читать, и записывать в эти файлы, когда оно запущено. Когда я смотрю, файлы находятся в AppDir, но когда генерируется .AppImage, автономный исполняемый файл не может получить доступ к этим файлам. При интеграции приложения с рабочим столом приложение устанавливается в ~/Applications
, но оно не содержит эти файлы.
Вот визуализация того, как оно выглядит, когда приложение установлено в системе без использования AppImage (ninja install
)
? usr
? share
? myapp
? resources
? MainWindow.glade
? dataCache.json
Когда я делаю DESTDIR=AppDir ninja install
, структура заканчивается следующим образом
? AppDir
? usr
? share
? myapp
? resources
? MainWindow.glade
? dataCache.json
Когда приложение ( MyApp.AppImage ) AppImageLauncher , встроенный в рабочий стол пользователя, копирует только AppImage в каталог приложений. Других папок или файлов нет.
Редактировать: Я использую ./linuxdeploy-x86_64.AppImage --appdir AppDir
для создания каталога AppDir. Затем я использую DESTDIR=AppDir ninja install
для установки приложения в AppDir, а затем я использую ./linuxdeploy-x86_64.AppImage --appdir AppDir --output appimage
для создания AppImage
Как один go получит доступ к тем файлам, которые были в AppDir после того, как приложение будет в комплекте? Или как заставить интеграцию приложений копировать эти файлы в папку «Приложения», чтобы приложение могло иметь к ним доступ во время работы приложения?