sdkmanager

sdkmanager は、Android SDK のパッケージを表示、インストール、更新、アンインストールできるコマンドライン ツールです。Android Studio を使用している場合は、このツールを使用する必要はありません。代わりに IDE から SDK パッケージを管理できます。

sdkmanager ツールは Android SDK ツール パッケージ(25.2.3 以降)に組み込まれており、android_sdk/tools/bin/ に配置されます。

使用方法

sdkmanager を使用して、次のタスクを実行できます。

インストール済みで利用可能なパッケージのリストを表示する

sdkmanager --list [options] \
           [--channel=channel_id] // Channels: 0 (stable), 1 (beta), 2 (dev), or 3 (canary)

channel オプションを使用して、channel_id 以前のチャンネルからのパッケージを含めることができます。たとえば、Canary チャンネルを指定して、すべてのチャンネルのパッケージのリストを表示します。

パッケージをインストールする

sdkmanager packages [options]

packages 引数は、--list コマンドで表示されるような SDK 形式のパスを引用符で囲ったものです(例: "build-tools;30.0.2""platforms;android-28")。複数のパッケージのパスをスペースで区切って渡すことができますが、それぞれ引用符で囲む必要があります。

たとえば、最新のプラットフォーム ツール(adbfastboot が含まれる)と、API レベル 28 の SDK ツールをインストールする方法を次に示します。

sdkmanager "platform-tools" "platforms;android-28"

または、テキスト ファイルにすべてのパッケージを指定して、それを渡すことができます。

sdkmanager --package_file=package_file [options]

package_file 引数は、テキスト ファイルの場所です。このファイルの各行に、インストールするパッケージの SDK 形式のパス(引用符は付けません)を指定します。

アンインストールするには、--uninstall フラグを追加します。

sdkmanager --uninstall packages [options]
sdkmanager --uninstall --package_file=package_file [options]

CMake または NDK をインストールするには、次の構文を使用します。

sdkmanager --install
           ["ndk;major.minor.build[suffix]" | "cmake;major.minor.micro.build"]
           [--channel=channel_id] // NDK channels: 0 (stable), 1 (beta), or 3 (canary)

たとえば、現在のチャンネルにかかわらず、次のコマンドを使用して指定された NDK バージョンをインストールします。

sdkmanager --install "ndk;21.3.6528147" --channel=3 // Install the NDK from the canary channel (or below)
sdkmanager --install "cmake;10.24988404" // Install a specific version of CMake

インストールされているすべてのパッケージを更新する

sdkmanager --update [options]

オプション

上記のコマンドで使用できるオプションの一覧を次の表に示します。

オプション 説明
--sdk_root=path このツールが含まれる SDK の代わりに、SDK へのパスを指定します。
--channel=channel_id channel_id までのチャンネル内にパッケージを含めます。指定できるチャンネルは次のとおりです。

0(安定)、1(ベータ)、2(開発)、3(Canary)。

--include_obsolete 廃止されたパッケージをパッケージ リストまたはパッケージの更新の対象とします。 --list--update でのみ使用します。
--no_https HTTPS ではなく HTTP を使用することをすべての接続に強制します。
--verbose 詳細出力モード。エラー、警告、情報の各メッセージが出力されます。
--proxy={http | socks} 指定したタイプのプロキシ経由で接続します。タイプは、http(HTTP、FTP などのハイレベルのプロトコル用)または socks(SOCKS V4 または SOCKS V5 のプロキシ用)です。
--proxy_host={IP_address | DNS_address} 使用するプロキシの IP アドレスまたは DNS アドレス。
--proxy_port=port_number 接続先のプロキシポート番号。