こんにちは、Unityエンジニアのオオバです。
Android向け開発中のトラブルは絶えません。
- ビルドができない
- 実機に転送できない
- コンパイルが通らない
などなど。
中でもトラブル頻度第1位。
ビルドトラブル
今回紹介するトラブルはコチラ。
JDK not found です。
![【Unity】Androidビルドに必要なJDKはUnityHubで解決_0](https://cdn-ak.f.st-hatena.com/images/fotolife/e/esakun/20210523/20210523090012.png#562__206)
このようなエラーログが出るパターン。
JDK not found
Java Development Kit (JDK) directory is not
set or invalid. Please, fix it in
Edit / Unity -> Preferences -> External Tools
JDKが見つからなくて
ビルドが通らないエラーの解決方法を紹介します。
OpenJDKをUnityHub経由のインストールで解決
![【Unity】Androidビルドに必要なJDKはUnityHubで解決_1](https://i.gyazo.com/ba444d6b508983a0c228f4e3fd6bbb4f.jpg#750__421)
UnityHubから
以下の手順を踏みましょう。
- UnityHubからAdd Modules
- OpenJDKにチェックを入れてインストール
この2ステップのみ。
これだけで JDK not foundは解決 します。
最近はビルド環境をUnity側に任せられるようになっています。
環境構築が非常に楽 になりました。
では詳細について解説していきます。
👉DOTweenの教科書を読んでUnityアニメーションをプログラミングしてみよう!
AndroidビルドにはJDKが必要な理由
![【Unity】Androidビルドに必要なJDKはUnityHubで解決_2](https://i.gyazo.com/5c52c3992353e2d2789df84387b6b07d.jpg#750__468)
そもそもなぜAndroidビルドに JDK が必要なのでしょうか。
理由はAndroidがJavaで作られているからです。
JDKとはJava Development Kitの略で、
Javaアプリの開発に使います。
つまりAndroidアプリのビルドにはJDKが必要なのです。
JDKはあらかじめPCにダウンロードしておき、
パスを通しておくことで、
ビルド時に参照されます。
Unityのバージョンによって必要なJDKのバージョンも変更
JDKにもいくつもバージョンが存在します。
やっかいなのは、Unityバージョン毎に
必要となるJDKのバージョンも変わるということでした。
メニューUnity -> Preferences -> External Tools
の
Androidの部分を見てみるとJDK周りで警告が出ています。
![【Unity】Androidビルドに必要なJDKはUnityHubで解決_3](https://cdn-ak.f.st-hatena.com/images/fotolife/e/esakun/20210523/20210523090401.png#750__152)
You are missing the recommended JDK. Install the recommended version using UnityHub.
UnityHub登場前は、Unityのバージョンに合わせた
JDKを公式サイトからダウンロードするという手間が発生していました。
オススメはUnityHub経由のJDKインストール
![【Unity】Androidビルドに必要なJDKはUnityHubで解決_4](https://i.gyazo.com/3a122303e80098bd86bddb687fa2055b.jpg#750__499)
Install the recommended version using UnityHub.
先の警告にも記載されていますが、
UnityHubからJDKのインストールをオススメ します。
強くおすすめする理由は、
自動で適切なバージョンのJDKをインストール してくれるからです。
これによりビルド環境構築の時間を大幅に削減してくれました。
今はこれ一択です。
わざわざ開発者がJDKを
ダウンロードする理由はありません。
ではUnityHubからJDKのインストール手順を解説します。
![【Unity】Androidビルドに必要なJDKはUnityHubで解決_5](https://cdn-ak.f.st-hatena.com/images/fotolife/e/esakun/20210523/20210523090520.png#750__459)
↑の通りJDKを追加したいUnityの右上ボタンを押します。
この例ではUnity2021.1.2f1にJDKをインストールします。
![【Unity】Androidビルドに必要なJDKはUnityHubで解決_6](https://cdn-ak.f.st-hatena.com/images/fotolife/e/esakun/20210523/20210523090536.png#424__344)
Add Modules をクリックします。
![【Unity】Androidビルドに必要なJDKはUnityHubで解決_7](https://i.gyazo.com/e259c5416ae919c8e14582db7b4c1f1e.png#750__227)
Android Build Support > OpenJDK
にチェックを入れます。 チェックを入れて、Doneボタンをクリック。
するとインストールは開始します。
PreferencesからJDKインストール完了の確認
JDKインストール完了後Unityに戻ります。
JDK Instaled with Unity(recommdned)の
チェックをつけ直すと更新されます。
↑地味に大事なところ
![【Unity】Androidビルドに必要なJDKはUnityHubで解決_8](https://cdn-ak.f.st-hatena.com/images/fotolife/e/esakun/20210523/20210523090715.png#750__153)
警告が出ていなければ、
適切なバージョンのJDK が
Unityにインストールされたということです。
この状態で再度Androidビルドしてみてください。
JDK not foundエラーは解消 するでしょう。
まとめ : AndroidビルドエラーJDKはUnityHubで解決
![【Unity】Androidビルドに必要なJDKはUnityHubで解決_9](https://i.gyazo.com/39b17e8db6deb549695fd6c51e4e27f6.jpg#708__500)
記事の内容を簡単にまとめます。
- AndroidはJava製
- ビルドにはJDKが必要
- JDKにインストールはUnityHubがオススメ
- UnityバージョンごとにJDKは必要
こんな感じです。
UnityHubでJDKをインストールするだけ
最近のUnityはこれで完了します。
ひと昔前まで必要だった下記の作業は不要です。
- 適切なJDKを自分でダウンロード
- パスを通す作業
UnityHubで完結する良い時代となりました。
Unityの進化ですね。
![](https://i.gyazo.com/14d2eaf9387f99a63841fd7004621329.jpg#1280.0__853.0)
この記事が気に入ったらフォローしよう
「Unity初心者大学」というUnity初心者向けのYouTube始めました!!
ぜひチャンネル登録をお願いします!
最後まで読んでいただきありがとうございました!
すばらしいAndroidビルドライフをお過ごしください。
- Unity2020.3.19f1