Appearance
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
adbis in your PATH (thatwhich adbprints 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.- Mac:
Python (used by some of our tools)
Set up your environment
Clone the flutter/flutter repo using either SSH or HTTPS (SSH is recommended, but requires a working SSH key on your GitHub account):
- SSH:
git clone [email protected]:flutter/flutter.git - HTTPS:
git clone https://github.com/flutter/flutter.git
- SSH:
Change into the directory of the cloned repository and rename the origin remote to upstream:
cd fluttergit remote rename origin upstream
Fork the flutter/flutter repo into your own GitHub account.
Add your fork as the origin remote to your local clone either using SSH or HTTPS (SSH is recommended, but requires a working SSH key on your GitHub account) by replacing ████████ with your GitHub account name:
- SSH:
git remote add origin [email protected]:████████/flutter.git - HTTPS:
git remote add origin https://github.com/████████/flutter.git
- SSH:
Verify the upstream and origin repository you've specified for your clone.
git remote -v
Add the repo's
bindirectory to your PATH: e.g. on UNIX, usingexport 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
flutterin 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.
- 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 update-packagesThis will recursively fetch all the Dart packages that Flutter depends on. If version solving failed, try
git fetch upstreamto update Flutter versions beforeflutter update-packages.
Tip If you plan on using IntelliJ as your IDE, then also run
flutter ide-config --overwriteto 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:
- Running examples, to see if your setup works.
- The flutter tool, to learn about how the
fluttercommand line tool works. - Style guide for Flutter repo, to learn how to write code for Flutter.
- Tree hygiene, to learn about how to submit patches.
- Signing commits, to configure your environment to securely sign your commits.