# Android 用の環境設定

> Explains how to set up a Unity project for Android development.

Android 用 Unity アプリケーションを作成するには、まず Android をサポートするように Unity プロジェクトを設定する必要があります。Unity プロジェクトは、Android をサポートするために以下の依存関係を必要とします。

* **Android Build Support** モジュール
* Android Software Development Kit [(SDK)](https://developer.android.com/studio#command-tools)
* Native Development Kit [(NDK)](https://developer.android.com/ndk/)
* Java Development Kit。デフォルトでは、Unity は [OpenJDK](http://openjdk.java.net/) を使用します。

開始する前に、Android の [要件と互換性に関する Unity ドキュメント](/engine/6000.0/manual/platform-specific/android/introducing/requirements-and-compatibility.md) を参照し、Android 用の Unity アプリケーション開発に関わる制限事項を確認してください。

## 依存関係のインストール

Unity は依存関係を [モジュール](https://docs.unity3d.com/hub/manual/AddModules.html) として配布しているため、[Unity Hub](https://docs.unity3d.com/hub/manual/index.html) を使用してインストールする必要があります。新しいバージョンの Unity エディターのインストール時にインストールすることも、既存の Unity エディターのインストールに追加することも可能です。モジュールをインストールする場合は、以下を参照してください。

* エディターのインストール時にインストールする場合は、[Downloading and installing Editors and modules with the Unity Hub](https://docs.unity3d.com/hub/manual/InstallEditors.html) (Unity Hub を使用した、エディターやモジュールのダウンロードとインストール) を参照してください。
* 既存のインストールに追加する場合は、[Add modules](https://docs.unity3d.com/hub/manual/AddModules.html) (モジュールの追加) を参照してください。

インストールするモジュールは以下の 3 つです。

* **Android Build Support**
* **Android SDK & NDK Tools**
* **OpenJDK**


**Unity Hub に表示された 3 つの依存関係モジュール:**
![](/api/media?file=/engine/6000.0/media/images/android-modules.png)

Unity は、**Android SDK & NDK Tools** と **OpenJDK** をそれぞれ、`/[EditorVersion]/Editor/Data/PlaybackEngines/AndroidPlayer/` の下の `SDK`、`NDK`、`OpenJDK` フォルダーにインストールします。

### 依存関係のカスタマイズ

**Android SDK & NDK Tools** と **OpenJDK** のインストールは、正しいバージョンと設定をインストールするために、Unity Hub を使用して行う必要があります。ただし、Unity が Android 用アプリケーションのビルドに使用する SDK、NDK、JDK を変更することが有用な場合もあります。例えば、同じ依存関係を持つ複数のバージョンの Unity があり、SDK、NDK、JDK のインストールを重複させたくない場合には、共有の場所を指定することもできます。

Unity にカスタムバージョンの依存関係を使用させるには、以下を行ってください。

1. 依存関係のカスタムバージョンをダウンロードします。

   **注意**: Unity は、Unity Hub を通して提供されるバージョンの OpenJDK、SDK、NDK のみを公式にサポートします。詳細については、[サポートされている依存関係のバージョン](#supported-dependency-versions) を参照してください。
2. Unity のメインメニューで、**Edit** > **Preferences** > **External Tools** > **Android** に移動します (macOS の場合: **Unity** > **Settings** > **External Tools** > **Android**)。
3. **JDK**、**SDK**、**NDK**、および **Gradle** のインストールをカスタマイズする方法については、[Android 用外部ツール](#externalTools) のドキュメント を参照してください。

#### サポートされている依存関係のバージョン

このセクションには、Unity の各バージョンが、各依存関係のどのバージョンをサポートしているかについての情報が含まれています。Unity はバージョンごとに特定のバージョンの Android NDK および Android JDK を必要としますが、Android SDK に関しては厳密なバージョン要件はありません。

##### SDK

Unity は Android SDK の提供するツールに依存しており、異なるバージョンの SDK でも通常は同じツールが使用できます。つまり、最近のバージョンの SDK ならどれでも (Unity が必要とするビルドツールを含んでいるので) 使用することができます。

以下の表は、各 Unity バージョンとともにインストールされた Android SDK ツールのサポートされているバージョンを示しています。

| **Unity バージョン** | **SDK ツールのバージョン** | **SDK ビルドツールのバージョン** | **SDK コマンドラインツールのバージョン** | **SDK プラットフォームツールのバージョン** |
| --------------- | ----------------- | -------------------- | ------------------------ | ------------------------- |
| 6000.0          | 26.1.1            | 34.0.0               | 6                        | 34.0.5                    |
| 2022.3 LTS      | 26.1.1            | 32.0.0               | 6                        | 32.0.0                    |
| 2021.3 LTS      | 26.1.1            | 32.0.0               | 6                        | 32.0.0                    |
| 2020.3 LTS      | 26.1.1            | 30.0.2               | 2                        | 28.0.1                    |

**重要**: Unity バージョン 2020.3 および 2021.3 LTS は、バージョン 31 以降の Android SDK ビルドツールをサポートしません。

##### NDK

Unity の各バージョンがサポートする NDK のバージョンは、以下の通りです。

| **Unity バージョン** | **NDK バージョン**       |
| --------------- | ------------------- |
| 6000.0          | r23b (23.1.7779620) |
| 2022.3 LTS      | r23b (23.1.7779620) |
| 2021.3 LTS      | r21d (21.3.6528147) |
| 2020.3 LTS      | r19 (19.0.5232133)  |

##### JDK

Unity の各バージョンがサポートする JDK のバージョンは、以下の通りです。

| **Unity バージョン** | **JDK バージョン**         |
| --------------- | --------------------- |
| 6000.0          | 17 (OpenJDK バージョン 17) |
| 2022.3 LTS      | 11 (OpenJDK バージョン 11) |
| 2021.3 LTS      | 11 (OpenJDK バージョン 11) |
| 2020.3 LTS      | 8 (OpenJDK バージョン 1.8) |

**ノート**: Unity バージョン 2023.2 のみが CMake バージョン 3.22.1 をサポートします。Unity バージョン 2022.3 以下は CMake をサポートしません。

## Android 用外部ツール

Android 用の **External Tools** セクションでは、Android デバイスで Unity プロジェクトを設定するために使用される Android 開発ツールを設定できます。Android 用の **External Tools** セクションにアクセスするには、**Edit** > **Preferences** に移動してから (macOS の場合: **Unity** > **Settings**)、**External Tools** > **Android** に移動します。

一般的な **Preferences** 設定については、[環境設定](/engine/6000.0/manual/unity-editor/editor-features/preferences.md) を参照してください。


**Android 用外部ツール:**
![](/api/media?file=/engine/6000.0/media/images/PreferenceesExternalToolsAndroid.png)

| **設定**                                                  | **説明**                                                                                                                                                                                                                                                                                                   |
| ------------------------------------------------------- | -------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- |
| **JDK installed with Unity(recommended)**               | Unity とともにインストールされた推奨バージョンの Java Development Kit (JDK) を使用するか、カスタム JDK インストールを使用するかを指定します。有効にすると、JDK インストールフォルダーのパスが表示されます。カスタム JDK バージョンを使用するには、このオプションを無効にし、**Browse** をクリックしてカスタム JDK インストールフォルダーのパスを設定します。                                                                                           |
| **Android SDK tools installed with Unity(recommended)** | Unity とともにインストールされた推奨バージョンの Android SDK ツールを使用するか、カスタム SDK ツールのインストールを使用するかを指定します。有効にすると、SDK ツールのインストールフォルダーのパスが表示されます。カスタム SDK ツールバージョンを使用するには、このオプションを無効にし、**Browse** をクリックしてカスタム SDK ツールのインストールフォルダーのパスを設定します。                                                                                        |
| **Android NDK installed with Unity(recommended)**       | Unity とともにインストールされた推奨バージョンの Android Native Development Kit (NDK) を使用するか、カスタム NDK インストールを使用するかを指定します。有効にすると、NDK インストールフォルダーのパスが表示されます。カスタム NDK バージョンを使用するには、このオプションを無効にし、**Browse** をクリックしてカスタム NDK インストールフォルダーのパスを設定します。                                                                                 |
| **Gradle installed with Unity(recommended)**            | Unity とともにインストールされた推奨バージョンの Android Gradle を使用するか、カスタム Gradle インストールを使用するかを指定します。有効にすると、Gradle インストールフォルダーのパスが表示されます。カスタム Gradle バージョンを使用するには、このオプションを無効にし、**Browse** をクリックしてカスタム Gradle インストールフォルダーのパスを設定します。                                                                                           |
| **Stop Gradle daemons on exit**                         | Unity エディターの終了時に Gradle デーモンを停止するかどうかを指定します。このオプションはデフォルトで有効になっており、コンピューターのリソースを解放するのに役立ちます。                                                                                                                                                                                                             |
| **Kill ADB server on exit**                             | Unity エディターの終了時に Android Debug Bridge (adb) サーバーを終了するかどうかを指定します。このオプションはデフォルトで有効になっており、コンピューターのリソースを解放するのに役立ちます。                                                                                                                                                                                         |
| **Kill external ADB instances**                         | 外部 Android Debug Bridge (ADB) インスタンスを終了するかどうかを指定します。これらは、**Android SDK tools installed with Unity(recommended)** の Android SDK セットに属していない別のインスタンスです。複数の ADB インスタンスが互いに競合し、Android SDK の使用時に問題が発生する場合があります。例えば、API の更新時やアプリケーションの起動時などです。**ノート**: このオプションは、異なる ADB インスタンス間の衝突を防ぐためにデフォルトで有効になっています。       |
| **Maximum JVM heap size, Mbyte**                        | Android ビルドプロセス中に割り当てることができる Java の最大ヒープサイズを指定します。値は MB 単位で指定され、デフォルト値は 4096 です。この値は、プロジェクト要件に基づいて増減できます。ヒープスペースエラーが発生した場合は、この値を増やします。                                                                                                                                                                   |
| **Keystores Dedicated Location**                        | Android キーストアへのフォルダーパスを指定します。Unity は、ビルドプロセス中に Android アプリケーションに署名するときにこのパスを使用します。アプリケーションに新しいパスを設定するには、**Browse** をクリックし、Android キーストアを格納するフォルダーに移動します。詳細については、[キーストアの場所の選択](/engine/6000.0/manual/platform-specific/android/getting-started/keystore/create.md#choose-the-keystore-location)を参照してください。 |

## Android SDK Target API の設定

Unity Hub は、Google Play の要求する Android SDK Target API の最新バージョンをインストールします。より新しいバージョンを使用する必要がある場合は [Android Player 設定](/engine/6000.0/manual/platform-specific/android/getting-started/class-player-settings.md) で変更可能です。手順は以下のとおりです。

1. **Edit** > **Project Settings** を選択します。
2. Project settings ウィンドウの **Player** タブで、[Android Player Settings](/engine/6000.0/manual/platform-specific/android/getting-started/class-player-settings.md) を開きます。


   **Android SDK のターゲット API の選択:**
   ![](/api/media?file=/engine/6000.0/media/images/android-player-settings-tab.png)
3. **Other Settings** セクションで、**Target API Level** を変更します。


   **Frame:**
   ![](/api/media?file=/engine/6000.0/media/images/android-sdk-target-api.png)

インストールされている最新のバージョンよりも新しいバージョンのターゲット API を選択した場合、Unity Android SDK Updater は、新しいバージョンのダウンロードとインストールを自動で行うことができます。Unity によってプロンプトが表示され、以下のいずれかの方法を選択できます。

* 新しいバージョンの Android SDK を自動的にダウンロードおよびインストールする
* インストールされている中で最新のバージョンの Android SDK を引き続き使用する

インストールされている最新のものより古く、まだインストールされていないバージョンのターゲット API を選択すると、Unity Android SDK Updater はアップデートを実行できず、エラーメッセージが表示されます。この場合、Android SDK Target API をアップデートするには、[Android Studio](https://developer.android.com/studio) または [コマンドラインツール](https://developer.android.com/studio/command-line/sdkmanager) から Android [sdkmanager](https://developer.android.com/studio/command-line/sdkmanager) を使用する必要があります。いずれの方法を選択した場合でも、**Edit** > **Preferences** > **External Tools** ウィンドウで、Unity 用の正しい Android SDK フォルダーが選択されていることを確認してください。詳細については、[依存関係のカスタマイズ](#customizing-dependencies) を参照してください。

**重要**: Windows で Unity エディターをデフォルトのフォルダー (`/Program Files/`) にインストールした場合、アップデートを実行するには、昇格した権限 (**Run as Administrator**) で `sdkmanager` を実行する必要があります。
