There’s two ways to go about this — manual and partly automated (through the Dart scripts).
The manual way is just creating the tarball + Flatpak manifest.
The tarball is made up of:
- Your binary = the contents of
./build/linux/x64/release/bundle(if you’re building for the x86_64 architecture) inside your Flutter project folder. You generate this viaflutter build linux --release. - The desktop file, which you create manually.
- The AppStream metainfo file, which you also create manually.
- Desktop icons, which is also a manual job.
- (Anything else you need to include that isn’t part of the compiled binary.)
You should upload this tarball somewhere where others can easily download it — e.g. as a Github Release.
Once you’re done with that, you also need to create the Flatpak manifest manually — see the official tutorial for how to do that.
If you use SQlite and are building just for the x86_64 architecture, you need to include this command as part of your build commands in your manifest:
ln -s /usr/lib/x86_64-linux-gnu/libsqlite3.so.0 /app/lib/libsqlite3.so
I’d recommend doing things this way first before you try to automate things.
Let me know how it goes!