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 SDK
SDK 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アプリ開発を始める準備が整います。