A simple command-line application to help you easily bundle your flutter app build into a debian package ready for production.
Overview of our debian packaging 📦
This plugin is a tool that builds debian package based on the instructions listed in a debian.yaml file. To get a basic understanding and its core concepts, take a look at the debian documentation. Additional links and information are listed at the bottom of this page.
Flutter debian.yaml example
Place the YMAL file in your Flutter project under <project root>/debian/debian.yaml. (And remember the YMAL files are sensitive to white space!) For example:
flutter_app: command: mega_cool_app arch: x64 control: Package: Mega Cool App Version: 1.0.0 Architecture: amd64 Essential: no Priority: optional Depends: Maintainer: Description: Mega Cool App that does everything!
The following sections explain the various pieces of the YAML file.
This section of the debain.yaml file defines the application that will be packaged into a debian.
flutter_app: command: mega_cool_app arch: x64
Points to the binary at your project's linux release bundle, and runs when debian package is invoked.
the build architecture of your app.
This is what describes to the apt package manager or what ever piece of software you are using to install your app what it's all about.
List the libraries your project depends on and they will be installed by the apt package manager before your app in installed on the system.
the pub.dev package flutter_secure_storage linux version depends on
libsecret-1-0 and libjsoncpp1
NB: more than one Depends are separated by " , " .
Desktop file and icon 🖥️
Desktop entry files are used to add an application to the desktop menu. These files specify the name and icon of your application, the categories it belongs to, related search keywords and more. These files have the extension .desktop and follow the XDG Desktop Entry Specification.
Flutter mega-cool-app.desktop example
Place the .desktop file in your Flutter project under <project root>/debian/gui/mega-cool-app.desktop.
Notice: icon and .desktop file name must be the same as your app name in yaml file!
[Desktop Entry] Version=1.0 Name=Mega Cool App GenericName=Mega Cool App Comment=A Mega Cool App that does everything Terminal=false Type=Application Categories=Utility Keywords=Flutter;share;files;
Place your icon with .png extension in your Flutter project under <project root>/debian/gui/mega-cool-app.png.
Build the debian package 📦
Once the gui/ folder and debian.yaml file are complete. Run flutter_to_debian as follows from the root directory of the project.
first build your project
$ flutter build linux
install flutter_to_debian if not done yet.
$ dart pub global activate flutter_to_debian
Run flutter_to_debian as follows.
Locate and install your .deb app's package 📦
From the root directory of the project, Find it at.
$ cd debian/packages && ls
$ sudo dpkg -i [package_name].deb
Please all PR's and found issues are highly welcome at flutter_to_debian
You can learn more from the following links:
Please download, install, use and share our cross platform Local File sharing app WhoShares with your friends 💙 💙 💙.