Skip to content

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

  1. Android Studioを開く
  2. メニューから SettingsLanguages & FrameworkAndroid SDKSDK Tools タブを選択
  3. Android SDK Command-line Tools (latest) にチェックを入れる
  4. Apply をクリックしてインストール

Android Studio SDK Tools設定

旧バージョンのAndroid Studio

  1. FileSettingsAppearance & BehaviorSystem SettingsAndroid SDK
  2. SDK Tools タブを選択
  3. Android SDK Command-line Tools (latest) にチェックを入れる
  4. Apply をクリック

旧バージョンの設定画面

ウェルカム画面からのアクセス

Android Studioの初期画面からアクセスする方法:

  1. ウェルカム画面で More ActionsSDK Manager を選択
  2. SDK Tools タブで Android SDK Command-line Tools (latest) を選択
  3. Apply をクリック

ウェルカム画面からのアクセス

方法2: コマンドラインからのインストール

Android Studioを使用せずにコマンドラインから直接インストールする方法もあります。

sh
~/Library/Android/sdk/tools/bin/sdkmanager --install "cmdline-tools;latest"
sh
/home/ユーザー名/Android/Sdk/tools/bin/sdkmanager --install "cmdline-tools;latest"
cmd
C:\Users\ユーザー名\AppData\Local\Android\Sdk\tools\bin\sdkmanager --install "cmdline-tools;latest"

注意

コマンドラインからのインストールではJavaのバージョン互換性問題が発生する場合があります。その場合は方法1を使用してください。

方法3: FlutterのAndroid SDKパス設定

ツールはインストールされているにも関わらずエラーが解消しない場合は、FlutterがAndroid SDKのパスを正しく認識していない可能性があります。

sh
# SDKのパスを設定
flutter config --android-sdk "SDKのパス"

# ライセンス承認
flutter doctor --android-licenses

各OSのデフォルトSDKパス

sh
flutter config --android-sdk "/Users/ユーザー名/Library/Android/sdk"
sh
flutter config --android-sdk "C:\Users\ユーザー名\AppData\Local\Android\Sdk"
sh
flutter config --android-sdk "/home/ユーザー名/Android/Sdk"

方法4: 環境変数の設定

カスタムディレクトリにAndroid SDKをインストールしている場合、環境変数を設定する必要があります。

sh
# 環境変数 ANDROID_SDK_ROOT を設定
export ANDROID_SDK_ROOT="/path/to/your/sdk"

Windowsの場合はシステムの環境変数に ANDROID_SDK_ROOT を追加し、値にSDKのパスを設定します。

インストール後の確認

すべての手順を完了した後、以下のコマンドで問題が解決したか確認します:

sh
flutter doctor

エラーが解消されていれば、Androidツールチェーンの項目にチェックマークが表示されます。

トラブルシューティング

よくある問題と解決策

  1. sdkmanagerコマンドが見つからない

    • Android SDKのパスが正しく設定されているか確認
    • 環境変数 ANDROID_HOME または ANDROID_SDK_ROOT を設定
  2. Javaの互換性エラー

    • Android Studio経由でインストールすることを推奨
    • またはJavaのバージョンを変更
  3. ライセンス承認エラー

    sh
    flutter doctor --android-licenses

    を実行し、すべてのライセンスに同意

まとめ

cmdline-tools component is missing エラーは、Android SDKのコマンドラインツールが不足しているか、パス設定が正しくない場合に発生します。Android Studioを使用したグラフィカルなインストール方法が最も簡単で確実です。それでも解決しない場合は、Flutterの設定コマンドや環境変数の確認を行ってください。

正しく設定されれば、Flutterを使ったAndroidアプリ開発を始める準備が整います。