flutter-setting-up-on-linux

Setting Up a Linux Environment for Flutter Development

Safety Notice

This listing is imported from skills.sh public index metadata. Review upstream SKILL.md and repository scripts before running.

Copy this and send it to your AI assistant to learn

Install skill "flutter-setting-up-on-linux" with this command: npx skills add flutter/skills/flutter-skills-flutter-setting-up-on-linux

Setting Up a Linux Environment for Flutter Development

Contents

  • System Dependencies

  • Workflow: Configuring the Linux Toolchain

  • Workflow: Validating the Environment

  • Workflow: Preparing for Distribution (Snapcraft)

  • Examples

System Dependencies

To build and run Flutter applications on a Linux desktop, install the required C/C++ toolchain and system libraries. Flutter relies on dart:ffi to interface with Linux system calls and the GTK framework for UI rendering.

Required packages for Debian/Ubuntu-based distributions:

  • Core Utilities: curl , git , unzip , xz-utils , zip

  • Build Tools: clang , cmake , ninja-build , pkg-config

  • Libraries: libglu1-mesa , libgtk-3-dev , libstdc++-12-dev

Workflow: Configuring the Linux Toolchain

Follow this sequential workflow to prepare the Linux host for Flutter desktop development.

Task Progress:

    1. Update package lists and upgrade existing packages.
    1. Install core utilities and build dependencies.
    1. Configure IDE/Editor with Flutter support.
    1. (Conditional) Enable Linux support on ChromeOS.
  1. Update and Install Dependencies Execute the following command to install all required packages on Debian/Ubuntu systems:

sudo apt-get update -y && sudo apt-get upgrade -y sudo apt-get install -y curl git unzip xz-utils zip libglu1-mesa clang cmake ninja-build pkg-config libgtk-3-dev libstdc++-12-dev

  1. Conditional: ChromeOS Setup
  • If developing on a Chromebook: Turn on Linux support in the ChromeOS settings. Ensure the Linux container is fully updated using the apt-get commands above before proceeding.
  1. IDE Configuration Install Visual Studio Code, Android Studio, or an IntelliJ-based IDE. Install the official Dart and Flutter extensions/plugins to enable language server features and debugging capabilities.

Workflow: Validating the Environment

Run this feedback loop to ensure the toolchain is correctly recognized by the Flutter SDK.

Task Progress:

    1. Run environment validator.
    1. Verify connected Linux devices.
    1. Resolve toolchain errors.
  1. Run Validator Execute the Flutter diagnostic tool with verbose output:

flutter doctor -v

  1. Review and Fix (Feedback Loop)
  • If errors exist under the "Linux toolchain" section: Review the missing dependencies, install the flagged packages, and re-run flutter doctor -v . Repeat until the Linux toolchain section passes.
  1. Verify Device Availability Ensure the Linux desktop is recognized as a valid deployment target:

flutter devices

Expected Output: At least one entry must display with the platform marked as linux.

Workflow: Preparing for Distribution (Snapcraft)

When preparing a release build for the Snap Store, configure the Snapcraft build environment.

Task Progress:

    1. Install Snapcraft and LXD.
    1. Configure LXD.
    1. Build the Snap package.
  1. Install Build Tools

sudo snap install snapcraft --classic sudo snap install lxd

  1. Configure LXD Initialize LXD and add the current user to the lxd group:

sudo lxd init sudo usermod -a -G lxd <your_username>

Note: Log out and log back in to apply the group changes.

  1. Build the Snap Navigate to the project root containing the snap/snapcraft.yaml file and execute the build:

snapcraft --use-lxd

Examples

Baseline snapcraft.yaml Configuration

Use this template for the <project_root>/snap/snapcraft.yaml file when packaging a Flutter Linux app for the Snap Store.

name: super-cool-app version: 0.1.0 summary: Super Cool App description: Super Cool App that does everything!

confinement: strict base: core22 grade: stable

slots: dbus-super-cool-app: interface: dbus bus: session name: org.bar.super_cool_app

apps: super-cool-app: command: super_cool_app extensions: [gnome] plugs: - network slots: - dbus-super-cool-app

parts: super-cool-app: source: . plugin: flutter flutter-target: lib/main.dart

Source Transparency

This detail page is rendered from real SKILL.md content. Trust labels are metadata-based hints, not a safety guarantee.

Related Skills

Related by shared tags or category signals.

General

flutter-building-layouts

No summary provided by upstream source.

Repository SourceNeeds Review
10.6K-flutter
General

flutter-architecting-apps

No summary provided by upstream source.

Repository SourceNeeds Review
10.4K-flutter
General

flutter-animating-apps

No summary provided by upstream source.

Repository SourceNeeds Review
9.6K-flutter
General

flutter-managing-state

No summary provided by upstream source.

Repository SourceNeeds Review
9.6K-flutter