Skip to content

Setting up the Framework development environment

Pierre-Louis edited this page Apr 14, 2023 · 20 revisions

Preqrequisites

  • Linux, Mac OS X, or Windows

  • git (used for source version control)

  • An IDE, such as Android Studio with the Flutter plugin or VS Code

  • Android platform tools

    • Mac: brew install --cask android-platform-tools
    • Linux: sudo apt-get install android-tools-adb

    Verify that adb is in your PATH (that which adb prints sensible output).

    If you're also working on the Flutter engine, you can use the copy of the Android platform tools in .../engine/src/third_party/android_tools/sdk/platform-tools.

  • Python (used by some of our tools)

Set up your environment

  1. Fork the flutter/flutter repo into your own GitHub account. If you already have a fork, and are now installing a development environment on a new machine, make sure you've updated your fork so that you don't use stale configuration options.

  2. Clone the forked repo locally using the method of your choice. GitHub Desktop is simplest.

    GitHub cloning options

    If you cloned the repo using HTTPS or SSH, you'll need to configure the upstream remote for flutter/flutter. This will allow you to sync changes made in flutter/flutter with the fork:

    1. cd flutter

    2. Specify a new remote upstream repository (flutter/flutter) that will be synced with the fork.

      • SSH: git remote add upstream git@github.com:flutter/flutter.git
      • HTTPS: git remote add upstream https://github.com/flutter/flutter.git
    3. Verify the new upstream repository you've specified for your fork.

      • git remote -v
  3. Add the repo's bin directory to your PATH: e.g. on UNIX, using export PATH="$PATH:$HOME/<path to flutter repository>/bin"

    • If you already have a Flutter installation you will either need to remove it from your PATH, or use a full path whenever you are running flutter in this repository. If you have version solving errors when trying to run examples below, you are running a version of Flutter other than the one checked out here.
  4. flutter update-packages

    This will recursively fetch all the Dart packages that Flutter depends on. If version solving failed, try git fetch upstream to update Flutter versions before flutter update-packages.

Tip If you plan on using IntelliJ as your IDE, then also run flutter ide-config --overwrite to create all of the IntelliJ configuration files so you can open the main flutter directory as a project and run examples from within the IDE.

Next steps:

Flutter Wiki

Process

Framework repo

The Flutter CLI Tool

Engine repo

Packages repo

Engineering Productivity

User documentation

Clone this wiki locally