Android SDK cmdline-tools エラーの解決方法
問題の概要
Flutter開発環境をセットアップする際、flutter doctorコマンドを実行すると以下のエラーが発生することがあります:
X 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 SDKのコマンドラインツールがインストールされていない、またはFlutterがAndroid SDKのパスを正しく認識していない場合に発生します。
解決方法
方法1: Android Studioを使用したインストール(推奨)
最も簡単で確実な方法は、Android Studioを通じてコマンドラインツールをインストールする方法です。
Android Studioのバージョンによる違い
Android Studioのバージョンや設定画面のレイアウトが異なる場合がありますが、基本的な手順は同じです。
最新バージョンのAndroid Studio
- Android Studioを開く
- メニューから
Settings→Languages & Framework→Android SDK→SDK Toolsタブを選択 Android SDK Command-line Tools (latest)にチェックを入れるApplyをクリックしてインストール

旧バージョンのAndroid Studio
File→Settings→Appearance & Behavior→System Settings→Android SDKSDK Toolsタブを選択Android SDK Command-line Tools (latest)にチェックを入れるApplyをクリック

ウェルカム画面からのアクセス
Android Studioの初期画面からアクセスする方法:
- ウェルカム画面で
More Actions→SDK Managerを選択 SDK ToolsタブでAndroid SDK Command-line Tools (latest)を選択Applyをクリック

方法2: コマンドラインからのインストール
Android Studioを使用せずにコマンドラインから直接インストールする方法もあります。
~/Library/Android/sdk/tools/bin/sdkmanager --install "cmdline-tools;latest"/home/ユーザー名/Android/Sdk/tools/bin/sdkmanager --install "cmdline-tools;latest"C:\Users\ユーザー名\AppData\Local\Android\Sdk\tools\bin\sdkmanager --install "cmdline-tools;latest"注意
コマンドラインからのインストールではJavaのバージョン互換性問題が発生する場合があります。その場合は方法1を使用してください。
方法3: FlutterのAndroid SDKパス設定
ツールはインストールされているにも関わらずエラーが解消しない場合は、FlutterがAndroid SDKのパスを正しく認識していない可能性があります。
# SDKのパスを設定
flutter config --android-sdk "SDKのパス"
# ライセンス承認
flutter doctor --android-licenses各OSのデフォルトSDKパス
flutter config --android-sdk "/Users/ユーザー名/Library/Android/sdk"flutter config --android-sdk "C:\Users\ユーザー名\AppData\Local\Android\Sdk"flutter config --android-sdk "/home/ユーザー名/Android/Sdk"方法4: 環境変数の設定
カスタムディレクトリにAndroid SDKをインストールしている場合、環境変数を設定する必要があります。
# 環境変数 ANDROID_SDK_ROOT を設定
export ANDROID_SDK_ROOT="/path/to/your/sdk"Windowsの場合はシステムの環境変数に ANDROID_SDK_ROOT を追加し、値にSDKのパスを設定します。
インストール後の確認
すべての手順を完了した後、以下のコマンドで問題が解決したか確認します:
flutter doctorエラーが解消されていれば、Androidツールチェーンの項目にチェックマークが表示されます。
トラブルシューティング
よくある問題と解決策
sdkmanagerコマンドが見つからない
- Android SDKのパスが正しく設定されているか確認
- 環境変数
ANDROID_HOMEまたはANDROID_SDK_ROOTを設定
Javaの互換性エラー
- Android Studio経由でインストールすることを推奨
- またはJavaのバージョンを変更
ライセンス承認エラー
shflutter doctor --android-licensesを実行し、すべてのライセンスに同意
まとめ
cmdline-tools component is missing エラーは、Android SDKのコマンドラインツールが不足しているか、パス設定が正しくない場合に発生します。Android Studioを使用したグラフィカルなインストール方法が最も簡単で確実です。それでも解決しない場合は、Flutterの設定コマンドや環境変数の確認を行ってください。
正しく設定されれば、Flutterを使ったAndroidアプリ開発を始める準備が整います。