Android 用アプリケーションを作成するための無料の統合開発環境 Android Studio では、 GUI だけではなく、sdkmanager コマンドラインツールをコマンドプロンプトで使うことでも、 SDK Platform や各ツールを API Level や Version を指定して一括インストールすることができます。
.png)
今回は Android 用アプリケーションを作成するための無料の統合開発環境 Android Studio の sdkmanager コマンドラインツールの呼び出し方と、SDK Platform とツールをコマンドによってインストールする手順と結果を紹介します。
※ Android Studio のバージョンは Hedgehog | 2023.1.1 Patch 2 です。
前回の記事
前回は、Android Studio の SDK Manager のダイアログを用いて Android の SDK Platform やツール群をインストールする手順を紹介しました。
今回用いる sdkmanger コマンドラインツールは、 以下の記事で Command-line Tools としてインストールしました。
コマンドラインツールによる Android SDK やツールのインストール
前回の記事でインストールした Android SDK Command-line Tools の sdkmanager コマンドラインツールを使って、まだインストールしていないバージョンの SDK Platform やツールをインストールします。
Godot Engine 4 の公式ガイドでは、前回紹介した SDK Manager のダイアログでインストールする手順の後に、sdkmanager コマンドラインツールを使ったインストールの方法について、具体的なコマンド入力例を紹介しています。
- Alternatively, you can install the Android SDK using the command line tools.
- コマンドラインツールインストール後、 sdkmanager コマンドでセットアップを完了します:
sdkmanager –sdk_root=<android_sdk_path> “platform-tools” “build-tools;33.0.2” “platforms;android-33” “cmdline-tools;latest” “cmake;3.10.2.4988404” “ndk;23.2.8568313”
Android用にエクスポート — Godot Engine (4.x)の日本語のドキュメント
sdkmanager コマンドラインツールについて
sdkmanager は Android SDK に関する複数の機能を持つコマンドラインツールです。
今回は –sdk_root オプションで指定した場所を基準に、指定した API Level の SDK Platform と、指定したバージョンの Build-Tool をインストールします。
sdkmanager
は、Android SDK のパッケージを表示、インストール、更新、アンインストールできるコマンドライン ツールです。–sdk_root=path このツールが含まれる SDK の代わりに、SDK へのパスを指定します。
sdkmanager | Android Studio | Android Developers
インストールする対象
前述の Godot Engine 4 の公式ガイドに書かれているコマンド例では API Level 33 の SDK Platform とツール群をインストールします。
しかし、それらは前回の記事で SDK Manager のダイアログでインストールしました。
そこで今回は、筆者の持っているスマートフォンの OS Android 11 に対応している API Level 30 の SDK Platform と Version 30 のビルドツールをインストールします。
※ GodotEngine4 の Android エクスポートのプリセットを見ると Gradle によるビルドは API Level 33 ~ 24 まで対応しているので、API Level 30 を追加する必要はないかもしれません。

コマンドによる API Level 30 のインストールの前に SDK Manager のダイアログで API Level 30 の SDK Platform と Version 30 のビルドツールがまだインストールされいていなことを確認しました。


コマンドプロンプトの起動
コマンドプロンプトを起動します。
Windows 10 の場合は cmd と左下の検索ボックスに入力すると検索結果から起動できます。

または、スタートメニューの System Tools フォルダ内のコマンドプロンプトを起動します。

カレントディレクトリの移動
sdkmanager はパスが通ってないので「sdkmanager | Android Studio | Android Developers」に従って、 SDK をインストールしているフォルダまで移動してから、 sdkmanager.bat のあるフォルダまでのパスを含めて sdkmanager コマンドラインツールを呼び出します。
sdkmanager コマンドラインツールは、 Android/SDK フォルダの cmdline-tools/latest/bin にあります。

そこで、 Android/SDK フォルダまで CD コマンドで移動して、残りの階層を足した cmdline-tools\latest\bin\sdkmanager と入力して sdkmanager コマンドラインツールを実行します。

試しに –help オプションを指定して sdkmanager を実行します。

–help オプションで表示された sdkmanager の説明は以下の通りです。
>cmdline-tools\latest\bin\sdkmanager --help Usage: sdkmanager [--uninstall] [<common args>] [--package_file=<file>] [<packages>...] sdkmanager --update [<common args>] sdkmanager --list [<common args>] sdkmanager --list_installed [<common args>] sdkmanager --licenses [<common args>] sdkmanager --version With --install (optional), installs or updates packages. By default, the listed packages are installed or (if already installed) updated to the latest version. With --uninstall, uninstall the listed packages. <package> is a sdk-style path (e.g. "build-tools;23.0.0" or "platforms;android-23"). <package-file> is a text file where each line is a sdk-style path of a package to install or uninstall. Multiple --package_file arguments may be specified in combination with explicit paths. With --update, all installed packages are updated to the latest version. With --list, all installed and available packages are printed out. With --list_installed, all installed packages are printed out. With --licenses, show and offer the option to accept licenses for all available packages that have not already been accepted. With --version, prints the current version of sdkmanager. Common Arguments: --sdk_root=<sdkRootPath>: Use the specified SDK root instead of the SDK containing this tool --channel=<channelId>: Include packages in channels up to <channelId>. Common channels are: 0 (Stable), 1 (Beta), 2 (Dev), and 3 (Canary). --include_obsolete: With --list, show obsolete packages in the package listing. With --update, update obsolete packages as well as non-obsolete. --newer: With --list, show only new and/or updatable packages. --no_https: Force all connections to use http rather than https. --proxy=<http | socks>: Connect via a proxy of the given type. --proxy_host=<IP or DNS address>: IP or DNS address of the proxy to use. --proxy_port=<port #>: Proxy port to connect to. --verbose: Enable verbose output. * If the env var REPO_OS_OVERRIDE is set to "windows", "macosx", or "linux", packages will be downloaded for that OS.
sdkmanager コマンドラインツールのコマンド
以下のコマンドは前述の「Android用にエクスポート — Godot Engine (4.x)の日本語のドキュメント」のコマンドを参照にして作ったものです。
sdkmanager コマンドラインツールは、コマンドとなる引数を与えない場合、指定された文字列に対応する API Level / Version の SDK Platform やツールをインストールします。
パッケージをインストールする
パッケージをインストールするには、次の構文を使用します。
sdkmanager packages [options]packages 引数は、
sdkmanager | Android Studio | Android Developers--list
コマンドで表示されるような SDK 形式のパスを引用符で囲ったものです。たとえば、"build-tools;34.0.0"
や"platforms;android-33"
などです。
オプションの –sdk_root はインストール先の基準となる SDK フォルダを指定します。
#先ほど SDK フォルダまで CD コマンドで移動したので不要かもしれません。
以下のコマンドを SDK フォルダに移動した後に実行すると、Version 30 のビルドツールと API Level 30 (Android 11) の Android SDK Platform をインストールできます。
※以下のコマンドを利用する際は自己責任でお願いします。
cmdline-tools\latest\bin\sdkmanager --sdk_root="D:\Users\hiro0\AppData\Local\Android\Sdk" "build-tools;30.0.3" "platforms;android-30"
このコマンドラインを SDK フォルダの場所で実行します。
#コピー (Ctrl +C) を貼り付け (Ctrl + V) した後 Enter キーを押すと簡単です。

インストールの実行は1分程度で完了しました。

コマンドの実行結果
インストールの確認をするために、Android Studio を起動して、 SDK Manager を開きます。

既定で開かれている SDK Platforms タブをみると Android 11.0(“R”) のチェックが青くなっています。
右下の「Show Package Details」にチェックが入っていることを確認してから、 Android 11.0(“R”) を展開すると Android SDK Platform 30 がインストールされていることを確認できました。
で確認しました.png)
SDK Tools タブを開いて、右下の「Show Package Details」をチェックした状態で、 Android SDK Build-Tools の項目を展開すると指定したバージョン 30.0.3 のビルドツールがインストールされていることを確認できました。
で確認しました.png)
SDK Platform の Sources のインストール
前回 SDK Manager のダイアログで詳細を展開せずに Android 13 をチェックしてインストールした際は SDK と合わせて、 Sources もインストールされていました。

参照:AndroidStudio 古いバージョンのSDK/ツールのインストール1/2 | Compota-Soft-Press
コマンドラインでは SDK Platform を直接指定したことで、 Sources はインストールされなかったので、ダイアログ上で念のためインストールしました。

まとめ
今回は Android 用アプリケーションを作成するための無料の統合開発環境 Android Studio の sdkmanager コマンドラインツールの呼び出し方と、SDK Platform とツールをコマンドによってインストールする手順と結果を紹介しました。
これにより、各環境ごとに SDK Mananger ダイアログの GUI 操作でひとつずつ選んでインストールするよりも、複数の環境に同じ内容をインストールしたい場合に手間や人為的ミスを減らすことが期待できます。
参照サイト Thank You!
- Android モバイルアプリ デベロッパー ツール – Android デベロッパー | Android Developers
- Update the IDE and SDK tools | Android Studio | Android Developers
- Godot Engine – Free and open source 2D and 3D game engine
- Exporting for Android — Godot Engine (stable) documentation in English
- Android用にエクスポート — Godot Engine (4.x)の日本語のドキュメント
- sdkmanager | Android Studio | Android Developers
- cd | Microsoft Learn
- My Android device cannot run Godot 4.1 projects when (I think) it should. : r/godot
記事一覧 → Compota-Soft-Press
コメント