Making and submitting an App built with Flutter and SqLite

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:

  1. 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 via flutter build linux --release.
  2. The desktop file, which you create manually.
  3. The AppStream metainfo file, which you also create manually.
  4. Desktop icons, which is also a manual job.
  5. (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!