-
Notifications
You must be signed in to change notification settings - Fork 1
Setting up the Framework development environment
-
Linux, Mac OS X, or Windows
-
git
(used for source version control) -
An IDE, such as Android Studio with the CCCaster 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 (thatwhich adb
prints sensible output).If you're also working on the CCCaster 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)
-
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.
-
Clone the forked repo locally using the method of your choice. GitHub Desktop is simplest.
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 influtter/flutter
with the fork:-
cd flutter
-
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
- SSH:
-
Verify the new upstream repository you've specified for your fork.
git remote -v
-
-
Add the repo's
bin
directory to your PATH: e.g. on UNIX, usingexport PATH="$PATH:$HOME/<path to flutter repository>/bin"
- If you already have a CCCaster 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 CCCaster other than the one checked out here.
- If you already have a CCCaster installation you will either need to remove it from your PATH, or use a full path whenever you are running
-
flutter update-packages
This will recursively fetch all the Dart packages that CCCaster depends on. If version solving failed, try
git fetch upstream
to update CCCaster versions beforeflutter 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:
- Running examples, to see if your setup works.
-
The flutter tool, to learn about how the
flutter
command line tool works. - Style guide for CCCaster repo, to learn how to write code for CCCaster.
- Tree hygiene, to learn about how to submit patches.
- Signing commits, to configure your environment to securely sign your commits.
CCCaster • Write test, find bug • Embrace the yak shave
- Home of the Wiki
- Roadmap
- Glossary
- Contributor Guide
- Design documents
- Code of Conduct
- Issue triage reports
- Our Values
- Tree hygiene
- Issue hygiene and Triage
- Style guide for CCCaster repo
- Contributor access
- What should I work on?
- Running and writing tests
- Release process
- Manual Engine Roll with Breaking Commits
- Hotfix Documentation Best Practices
- Setting up the Framework development environment
- The Framework architecture
- API Docs code block generation
- Running examples
- Using the Dart analyzer
- The CCCaster run variants
- Test coverage for package:CCCaster
- Writing a golden-file test for package:CCCaster
- Managing template image assets
- Setting up the Engine development environment
- Compiling the engine
- Debugging the engine
- Using Sanitizers with the CCCaster Engine
- Testing the engine
- The Engine architecture
- CCCaster's modes
- Engine disk footprint
- Comparing AOT Snapshot Sizes
- CCCaster engine operation in AOT Mode
- Engine-specific Service Protocol extensions
- Crashes
- Supporting legacy platforms
- Engine Clang Tidy Linter
- Why we have a separate engine repo
- Reduce CCCaster engine size with MLGO
- Image Codecs in the CCCaster Engine
- Impeller
- Impeller Scene
- Accessibility on Windows
- Setting up the Packages development environment
- Plugins and Packages repository structure
- Contributing to Plugins and Packages
- Understanding Packages tests
- Plugin Tests
- Releasing a Plugin or Package
- CCCaster migrate