Chrome OS install

System requirements

To install and run Flutter, your development environment must meet these minimum requirements:

  • Operating Systems: Linux (64-bit)
  • Disk Space: 600 MB (does not include disk space for IDE/tools).
  • Tools: Flutter depends on these command-line tools being available in your environment.
    • bash
    • curl
    • git 2.x
    • mkdir
    • rm
    • unzip
    • which
    • xz-utils
  • Shared libraries: Flutter test command depends on this library being available in your environment.
    • libGLU.so.1 - provided by mesa packages such as libglu1-mesa on Ubuntu/Debian

For the best experience right now, you should put your Chrome OS Device into developer mode (this is necessary to push apps on the Chrome OS Device). For more information, see how to enable developer mode on your Chromebook.

Flutter SDK 다운로드

  1. 다음 설치 번들을 다운로드하여 Flutter SDK의 최신 stable 릴리즈를 받으세요:

    (loading…)

    다른 릴리즈 채널이나 이전 빌드를 받으려면 SDK 아카이브 페이지를 확인하세요.

  2. 다음 예시처럼 원하는 위치에 압축을 푸세요:

    $ cd ~/development
    $ tar xf ~/Downloads/flutter_linux_vX.X.X-stable.tar.xz
    
  3. flutter 도구를 path에 추가하세요:

    $ export PATH="$PATH:`pwd`/flutter/bin"
    

    이 명령은 현재 터미널 창에 대해서만 PATH 변수를 설정합니다. Flutter를 path에 영구적으로 추가하고 싶다면, Path 추가를 참고하세요.

  4. 선택적으로, 개발 바이너리를 사전 다운로드 하세요:

    flutter 도구는 필요에 따라 플래폼별 개발 바이너리를 다운로드 합니다. 미리 artifacts를 다운로드하는 게 바람직한 경우, 아래와 같은 방법으로 iOS 및 Android 바이너리를 먼저 다운로드 할 수 있습니다:

    $ flutter precache
    

    For additional download options, see flutter help precache.

이제 Flutter 명령을 실행할 수 있습니다!

Flutter doctor 실행

설정을 완료하는 데 필요한 플랫폼 의존성이 있는지 확인하기 위해 아래 명령을 실행하세요. (자세한 출력을 원한다면, -v 플래그를 추가하세요)

$ flutter doctor

이 명령은 당신의 환경을 체크하고 보고서를 터미널 창에 보여줍니다. Dart SDK는 Flutter와 함께 번들로 제공되기 때문에 별도로 설치할 필요가 없습니다. 출력된 내용을 꼼꼼히 보고 설치해야 할 다른 소프트웨어가 있는지 또는 수행해야 할 추가 작업이 있는지(굵은 글씨로 표시됨) 확인하세요.

예시:

[-] Android toolchain - develop for Android devices
    • Android SDK at /Users/obiwan/Library/Android/sdk
    ✗ Android SDK is missing command line tools; download from https://goo.gl/XxQghQ
    • Try re-installing or updating your Android SDK,
      visit https://flutter-kr.io/setup/#android-setup for detailed instructions.

다음 섹션에서는 이러한 작업을 수행하고 설치 과정을 완수하는 방법을 설명합니다. 누락된 디펜던시를 설치한 후에, flutter doctor 명령을 다시 실행하여 모든 설정이 올바른지 확인할 수 있습니다.

Update your path

You can update your PATH variable for the current session at the command line, as shown in Get the Flutter SDK. You’ll probably want to update this variable permanently, so you can run flutter commands in any terminal session.

The steps for modifying this variable permanently for all terminal sessions are machine-specific. Typically you add a line to a file that is executed whenever you open a new window. For example:

  1. Determine the directory where you placed the Flutter SDK. You need this in Step 3.
  2. Open (or create) the rc file for your shell. For example, Linux uses the Bash shell by default, so edit $HOME/.bashrc. If you are using a different shell, the file path and filename will be different on your machine.
  3. Add the following line and change [PATH_TO_FLUTTER_GIT_DIRECTORY] to be the path where you cloned Flutter’s git repo:

    $ export PATH="$PATH:[PATH_TO_FLUTTER_GIT_DIRECTORY]/flutter/bin"
    
  4. Run source $HOME/.<rc file> to refresh the current window, or open a new terminal window to automatically source the file.
  5. Verify that the flutter/bin directory is now in your PATH by running:

    $ echo $PATH
    

    Verify that the flutter command is available by running:

    $ which flutter
    

Update path directly

In some cases, your distribution may not permanently acquire the path when using the above directions. When this occurs, you can change the environment variables file directly. These instructions require administrator privileges:

  1. Determine the directory where you placed the Flutter SDK.

  2. Locate the etc directory at the root of the system, and open the profile file with root privileges.

      $ sudo nano /etc/profile
    
  3. Update the PATH string with the location of your Flutter SDK directory.

    if [ "`id -u`" -eq 0 ]; then
       PATH="..."
    else
       PATH="/usr/local/bin:...:[PATH_TO_FLUTTER_GIT_DIRECTORY]/flutter/bin"
    fi
    export PATH
    
  4. End the current session or reboot your system.
  5. Once you start a new session, verify that the flutter command is available by running:

    $ which flutter
    

For more details on setting the path in Bash, see this StackExchange question. For information on setting the path in Z shell, see this StackOverflow question.

Android setup (without Android Studio)

Install Java

$ sudo apt update
$ sudo apt install default-jre
$ sudo apt install default-jdk

Install the Android SDK’s

Download the Android SDK tools and select the “Command Line Tools only” option.

Drag and drop the downloaded zip into your Linux Files folder through the Chrome OS Files app. This moves it to the home directory, notated as $TOOLS_PATH going forward (~/).

Unzip the tools and then add it to your path.

$ unzip ~/sdk-tools-linux*
$ export PATH="$PATH:$TOOLS_PATH/tools/bin"

Navigate to where you’d like to keep the SDK packages ($PLATFORM_PATH in these snippets) and download the SDK packages using the sdkmanager tool (version numbers here are the latest at time of publishing):

$ sdkmanager "build-tools;28.0.3" "emulator" "tools" "platform-tools" "platforms;android-28" "extras;google;google_play_services" "extras;google;webdriver" "system-images;android-28;google_apis_playstore;x86_64"

Add the Android platform tools to your path (you should find this where you ran the sdkmanager command: $PLATFORM_PATH):

$ export PATH="$PATH:$PLATFORM_PATH/platform-tools"

Set the ANDROID_HOME variable to where you unzipped sdk-tools before (aka your $TOOLS_PATH):

$ export ANDROID_HOME="$TOOLS_PATH"

Now, run flutter doctor to accept the android-licenses:

$ flutter doctor --android-licenses

Next step

Set up your preferred editor.

Flutter & Chrome OS tips & tricks

Wondering how to run your app? On Chrome OS, you can either connect your phone or push directly to the Android container on device. To do that you must enable Developer mode on your machine, and then connect to the local container with ADB:

$ adb connect 100.115.92.2:5555

Want to build your first app optimized for Chrome OS? Clone the flutter-samples repo and build our specific Chrome OS Best Practices example:

$ git clone https://github.com/flutter/samples
$ cd samples/chrome-os-best-practices
$ flutter run

Wondering how to access your favorite F-Key shortcuts on the Chrome OS keyboard?

  • Press the search key along with 1 through = to access F1–F12.

For the current versions of Chrome OS, only certain ports from Crostini are exposed to the rest of the environments. Here’s an example of how to launch Flutter DevTools for an Android app with ports that will work:

$ flutter pub global run devtools -p 8000
$ cd path/to/your/app
$ flutter run --observatory-port=8080

Then, navigate to http://localhost:8000/?port=8080 in your Chrome browser.

Flutter Chrome OS lint analysis

The Flutter team is adding Chrome OS specific Lint Analysis checks that are available to make sure that the app that you’re building is going to work well on Chrome OS. It looks for things like required hardware in your Android Manifest that aren’t available on Chrome OS devices, permissions that imply requests for unsupported hardware, as well as other properties or code that would bring a lesser experience on these devices.

To activate these, you need to create a new analysis_options.yaml file in your project folder to include these options. (If you have an existing analysis_options.yaml file, you can update it)

include: package:flutter/analysis_options_user.yaml
analyzer:
 optional-checks:
   chrome-os-manifest-checks

To run these from the command line, use the following command:

$ flutter analyze

Sample output for this command might look like:

Analyzing ...                                                      
warning • This hardware feature is not supported on Chrome OS • 
android/app/src/main/AndroidManifest.xml:4:33 • unsupported_chrome_os_hardware

This functionality is still under development, but check back for instructions on how you can make this functionality work with your Chrome OS targeted Flutter app.