在 Ubuntu 上手动部署 flutter 开发的应用

当用编译出 release 版 app 后,需要部署到系统的相关目录下才可以正常使用。下面是几个关键的点:

应用位置

通常,应用安装在 /opt/ 目录下。对于 flutter 应用,可以复制整个 bundle 目录,比如:

sudo cp -r build/linux/x64/release/bundle /opt/DaChatAI

bundle 目录中包含可执行文件,datalib 目录,或许还有其他内容。

图标文件

图标文件通常放在~/.local/share/icons 目录下,如果没有其他需要,可以只提供 48x48 大小的图标。

这里有多个选择,比如放在 ~/.local/share/icons/hicolor/256x256/apps 下,还有放在 theme 目录的 apps 下:

~/.local/share/icons $ ls Colloid/apps/scalable/sublime*
sublime-merge.svg sublime-text.svg sublime3-text.svg@ sublimemerge.svg@
sublime-text-2.svg@ sublime-text2.svg@ sublime_merge.svg@ sublimetext.svg@
sublime-text-3.svg@ sublime.svg@ sublime_text.svg@

.desktop文件

.desktop文件是一种桌面应用程序启动器文件,Ubuntu 上需要放在 /usr/share/applications/ 目录下。内容如下:

[Desktop Entry]
Version=1.3.1
Type=Application
Name=DaChatAI
GenericName=AI Assistant
Comment=AI Assistant Application
Exec=/opt/DaChatAI/dachatai
Terminal=false
Icon=dachatai
Categories=Utility;
StartupNotify=false

Icon 不需要写图标的扩展名。

.desktop文件中除了 [Desktop Entry] 还可以包含其他的功能,如:[Desktop Action new-window][Desktop Action new-file]等。

部署

放对这三个位置,应用就部署完成了!