LoginSignup
2
1

More than 1 year has passed since last update.

flutter docter で「Run `path/to/sdkmanager --install "cmdline-tools;latest"`」になった時

Posted at

flutter doctor を実行して、以下のようなワーニングが出たときの(私の)対処法です。

基本的にはワーニングメッセージ通りに実行すれば良いはずですが、私はメッセージ通りに実行してもうまくいかず、ちょっと躓いたのでメモしておきます。

$ flutter doctor
Running "flutter pub get" in flutter_tools...
Resolving dependencies in flutter/packages/flutter_tools... (8.4s)
  _fe_analyzer_shared 50.0.0 (58.0.0 available)
...

Got dependencies in flutter/packages/flutter_tools!
Doctor summary (to see all details, run flutter doctor -v):
[✓] Flutter (Channel stable, 3.7.11, on macOS 12.6 21G115 darwin-arm64, locale ja-JP)
[!] Android toolchain - develop for Android devices (Android SDK version 33.0.0)
    ✗ cmdline-tools component is missing
      Run `path/to/sdkmanager --install "cmdline-tools;latest"`
      See https://developer.android.com/studio/command-line for more details.
    ✗ Android license status unknown.
      Run `flutter doctor --android-licenses` to accept the SDK licenses.
      See https://flutter.dev/docs/get-started/install/macos#android-setup for more details.
[✓] Xcode - develop for iOS and macOS (Xcode 14.2)
[✓] Chrome - develop for the web
[✓] Android Studio (version 2021.2)
[✓] VS Code (version 1.77.2)
[✓] Connected device (2 available)
[✓] HTTP Host Availability

対処法

Run path/to/sdkmanager --install "cmdline-tools;latest"

Step1

ワーニングで指定されたコマンドを実行して、Androidコマンドラインツールをインストールします。(これですんなり成功すれば、以降は不要)

$ find ~/Library/Android/sdk -name sdkmanager
→[/path/to/sdkmanager]のパスを取得
$ /path/to/sdkmanager --install "cmdline-tools;latest”

Step2

上記Step1でコマンドラインツールのインストールに失敗した時

The operation couldn’t be completed. Unable to locate a Java Runtime.
Please visit http://www.java.com for information on installing Java.

対処法として、以下の対応案あり

Step3

今回は対応案2. 最新のコマンドラインツールをAndroidStudioの設定からインストールします。

インストール手順

  1. AndroidStudioの設定から「Android SDK」を開く
    • Android Studio > Preference > Appearance & Behavior > System Settings > Android SDK > SDK Tools
  2. 「Android SDK Command-line Tools(latest)」にチェックを入れる
  3. 「Apply」を選択してインストール

これで最新のコマンドラインツールはインストールされているはず。
つまり、path/to/sdkmanager --install "cmdline-tools;latest"は完了したことになります。

Run flutter doctor --android-licenses to accept the SDK licenses.

こちらはメッセージ通りにコマンドを実行すれば、特に問題なく終わりました。

$ flutter doctor --android-licenses

上記コマンドを実行すると何度かAccept? (y/N):と聞かれるのでひたすらyを入力して最後まで読めばOKです。

最後にもう一度 flutter doctor

これでワーニングは解消できたので、最後にもう一度 flutter doctor を実行して、以下のようになれば完了です。

$ flutter doctor
Doctor summary (to see all details, run flutter doctor -v):
[✓] Flutter (Channel stable, 3.7.11, on macOS 12.6 21G115 darwin-arm64, locale ja-JP)
[✓] Android toolchain - develop for Android devices (Android SDK version 33.0.0)
[✓] Xcode - develop for iOS and macOS (Xcode 14.2)
[✓] Chrome - develop for the web
[✓] Android Studio (version 2021.2)
[✓] VS Code (version 1.77.2)
[✓] Connected device (2 available)
[✓] HTTP Host Availability

• No issues found!
2
1
0

Register as a new user and use Qiita more conveniently

  1. You get articles that match your needs
  2. You can efficiently read back useful information
  3. You can use dark theme
What you can do with signing up
2
1