我正在尝试为 flatpak 打包一个 Flutter 应用程序并创建了一个配置文件。一切都很好,并且在本地构建/安装时没有显示错误但是当我尝试使用 flatpak 运行应用程序时,会显示此错误
/app/spotube/spotube: error while loading shared libraries: libkeybinder-3.0.so.0: cannot open shared object file: No such file or directory
这是我的 flatpak 清单文件:
app-id: oss.krtirtho.Spotube
runtime: org.gnome.Platform
runtime-version: '40'
sdk: org.gnome.Sdk
command: spotube
finish-args:
- --socket=x11
- --socket=fallback-x11
- --socket=wayland
- --socket=pulseaudio
- --share=network
- --device=dri
- --filesystem=~/.local/share
modules:
- name: spotube
buildsystem: simple
build-commands:
- install -dm755 /app/share/applications /app/share/icons/spotube /app/bin /app/spotube
- cp -R spotube/ /app
- cp spotube/spotube.desktop /app/share/applications
- cp spotube/spotube-logo.png /app/share/icons/spotube
- ln -s /app/spotube/spotube /app/bin/spotube
sources:
- type: archive
only_arches:
- x86_64
url: https://github.com/KRTirtho/spotube/releases/download/v1.0.1/Spotube-linux-x86_64.tar.xz
dest: spotube
sha256: 117f379c4e32a03cf1a596345e14ba82d9c143cc0ff5ac49a6e10fdc7a3d5178
这是使用命令构建包时的输出flatpak-builder build/flatpak oss.krtirtho.Spotube.yml
Downloading sources
Starting build of oss.krtirtho.Spotube
Cache miss, checking out last cache hit
========================================================================
Building module spotube in /home/krtirtho/dev/spotube/.flatpak-builder/build/spotube-1
========================================================================
Running: install -dm755 /app/share/applications /app/share/icons/spotube /app/bin /app/spotube
Running: cp -R spotube/ /app
Running: cp spotube/spotube.desktop /app/share/applications
Running: cp spotube/spotube-logo.png /app/share/icons/spotube
Running: ln -s /app/spotube/spotube /app/bin/spotube
compressing debuginfo in: /home/krtirtho/dev/spotube/.flatpak-builder/rofiles/rofiles-Cu6rD8/files/spotube/spotube
processing: /home/krtirtho/dev/spotube/.flatpak-builder/rofiles/rofiles-Cu6rD8/files/spotube/spotube
Nothing to do.
stripping /home/krtirtho/dev/spotube/.flatpak-builder/rofiles/rofiles-Cu6rD8/files/spotube/spotube to /home/krtirtho/dev/spotube/.flatpak-builder/rofiles/rofiles-Cu6rD8/files/lib/debug/spotube/spotube.debug
compressing debuginfo in: /home/krtirtho/dev/spotube/.flatpak-builder/rofiles/rofiles-Cu6rD8/files/spotube/lib/libhotkey_manager_plugin.so
processing: /home/krtirtho/dev/spotube/.flatpak-builder/rofiles/rofiles-Cu6rD8/files/spotube/lib/libhotkey_manager_plugin.so
Nothing to do.
stripping /home/krtirtho/dev/spotube/.flatpak-builder/rofiles/rofiles-Cu6rD8/files/spotube/lib/libhotkey_manager_plugin.so to /home/krtirtho/dev/spotube/.flatpak-builder/rofiles/rofiles-Cu6rD8/files/lib/debug/spotube/lib/libhotkey_manager_plugin.so.debug
compressing debuginfo in: /home/krtirtho/dev/spotube/.flatpak-builder/rofiles/rofiles-Cu6rD8/files/spotube/lib/liburl_launcher_linux_plugin.so
processing: /home/krtirtho/dev/spotube/.flatpak-builder/rofiles/rofiles-Cu6rD8/files/spotube/lib/liburl_launcher_linux_plugin.so
Nothing to do.
stripping /home/krtirtho/dev/spotube/.flatpak-builder/rofiles/rofiles-Cu6rD8/files/spotube/lib/liburl_launcher_linux_plugin.so to /home/krtirtho/dev/spotube/.flatpak-builder/rofiles/rofiles-Cu6rD8/files/lib/debug/spotube/lib/liburl_launcher_linux_plugin.so.debug
compressing debuginfo in: /home/krtirtho/dev/spotube/.flatpak-builder/rofiles/rofiles-Cu6rD8/files/spotube/lib/libwinmedia.so
processing: /home/krtirtho/dev/spotube/.flatpak-builder/rofiles/rofiles-Cu6rD8/files/spotube/lib/libwinmedia.so
Nothing to do.
stripping /home/krtirtho/dev/spotube/.flatpak-builder/rofiles/rofiles-Cu6rD8/files/spotube/lib/libwinmedia.so to /home/krtirtho/dev/spotube/.flatpak-builder/rofiles/rofiles-Cu6rD8/files/lib/debug/spotube/lib/libwinmedia.so.debug
compressing debuginfo in: /home/krtirtho/dev/spotube/.flatpak-builder/rofiles/rofiles-Cu6rD8/files/spotube/lib/liblibwinmedia_plugin.so
processing: /home/krtirtho/dev/spotube/.flatpak-builder/rofiles/rofiles-Cu6rD8/files/spotube/lib/liblibwinmedia_plugin.so
Nothing to do.
stripping /home/krtirtho/dev/spotube/.flatpak-builder/rofiles/rofiles-Cu6rD8/files/spotube/lib/liblibwinmedia_plugin.so to /home/krtirtho/dev/spotube/.flatpak-builder/rofiles/rofiles-Cu6rD8/files/lib/debug/spotube/lib/liblibwinmedia_plugin.so.debug
compressing debuginfo in: /home/krtirtho/dev/spotube/.flatpak-builder/rofiles/rofiles-Cu6rD8/files/spotube/lib/libbitsdojo_window_linux_plugin.so
processing: /home/krtirtho/dev/spotube/.flatpak-builder/rofiles/rofiles-Cu6rD8/files/spotube/lib/libbitsdojo_window_linux_plugin.so
Nothing to do.
stripping /home/krtirtho/dev/spotube/.flatpak-builder/rofiles/rofiles-Cu6rD8/files/spotube/lib/libbitsdojo_window_linux_plugin.so to /home/krtirtho/dev/spotube/.flatpak-builder/rofiles/rofiles-Cu6rD8/files/lib/debug/spotube/lib/libbitsdojo_window_linux_plugin.so.debug
Committing stage build-spotube to cache
Cleaning up
Committing stage cleanup to cache
Finishing app
Not exporting share/applications/spotube.desktop, non-allowed export filename
Not exporting share/icons/spotube/spotube-logo.png, non-allowed export filename
Please review the exported files and the metadata
Committing stage finish to cache
Pruning cache
这是使用命令在本地安装包时的日志flatpak-builder --user --install --force-clean build/flatpak oss.krtirtho.Spotube.yml
Emptying app dir 'build/flatpak'
Downloading sources
Starting build of oss.krtirtho.Spotube
Cache hit for spotube, skipping build
Cache hit for cleanup, skipping
Cache hit for finish, skipping
Everything cached, checking out from cache
Exporting oss.krtirtho.Spotube to repo
Commit: 288604714b36bce991ad7f4e7576e99d1aee3adb3484a1c17fa70fdd8e9821cb
Metadata Total: 41
Metadata Written: 3
Content Total: 26
Content Written: 0
Content Bytes Written: 0 (0 bytes)
Exporting oss.krtirtho.Spotube.Debug to repo
Commit: 32c8f080cfdf44910c3d27bee1db491125eaef91a9d8a1c5713961655f1fc00e
Metadata Total: 11
Metadata Written: 1
Content Total: 7
Content Written: 0
Content Bytes Written: 0 (0 bytes)
Installing app/oss.krtirtho.Spotube/x86_64/master
Pruning cache
归档Spotube-linux-x86_64.tar.xz
文件的结构
spotube.tar.xz
├── data
│ ├── flutter_assets
│ │ ├── AssetManifest.json
│ │ ├── assets
│ │ │ ├── spotube_banner.png
│ │ │ ├── spotube-logo.png
│ │ │ ├── spotube-logo.svg
│ │ │ └── spotube-screenshot.png
│ │ ├── FontManifest.json
│ │ ├── fonts
│ │ │ └── MaterialIcons-Regular.otf
│ │ ├── NOTICES.Z
│ │ ├── packages
│ │ │ └── cupertino_icons
│ │ │ └── assets
│ │ │ └── CupertinoIcons.ttf
│ │ └── version.json
│ └── icudtl.dat
├── lib
│ ├── libapp.so
│ ├── libbitsdojo_window_linux_plugin.so
│ ├── libflutter_linux_gtk.so
│ ├── libhotkey_manager_plugin.so
│ ├── liblibwinmedia_plugin.so
│ ├── liburl_launcher_linux_plugin.so
│ └── libwinmedia.so
├── spotube
├── spotube-logo.png
└── spotube.desktop
Github 链接:https ://github.com/KRTirtho/spotube