こんにちは、Unityエンジニアのオオバです。
Unityで Android向け開発中のトラブルは絶えません。
- ビルドができない
- 実機に転送できない
- コンパイルが通らない
などなど。
中でもトラブル頻度第1位。
ビルドトラブル
今回紹介するトラブルはコチラ。
NDK not found です。
![【Unity】Androidビルドに必要なNDKはUnityHubでインストール_0](https://cdn-ak.f.st-hatena.com/images/fotolife/e/esakun/20210523/20210523092105.png#562__202)
このようなエラーログが出るパターン。
Android NDK not found
Android NDK not found or invalid. Please, fix it in Edit / Unity -> Preferences -> External Tools
エラーの通りAndroidビルドで必要なNDKが見つからないようです。
NDKが見つからなくて
ビルドが通らないエラーの解決方法を紹介します。
NDKをUnityHub経由のインストールで解決
![【Unity】Androidビルドに必要なNDKはUnityHubでインストール_1](https://i.gyazo.com/a62963a3a1ad410f106c7c55e746e201.jpg#750__499)
UnityHubから
以下の手順を踏みましょう。
- UnityHubからAdd Modules
- Android SDK & NDK Tools にチェックを入れてインストール
この2ステップのみ。
これだけで NDK not foundは解決 します。
最近はビルド環境をUnity側に任せられるようになっています。
環境構築が非常に楽 になりました。
では詳細について解説していきます。
👉DOTweenの教科書を読んでUnityアニメーションをプログラミングしてみよう!
AndroidビルドにはNDKが必要な理由
![【Unity】Androidビルドに必要なNDKはUnityHubでインストール_2](https://i.gyazo.com/2831d9c49ed3157a4693f39198a4a299.jpg#750__394)
NDKとは Android Native Development Kitの略 です。
C/C++をAndroidで使うために必要なのです。
そもそもC/C++がAndroidで必要な理由は
IL2CPPビルドでC++を使っているからなんですね。
本記事では深く取り扱いませんが、
UnityでAndroidビルドする場合には、
IL2CPPの関係でNDKが必要というわけです。
NDKが見つからない状況の確認
![【Unity】Androidビルドに必要なNDKはUnityHubでインストール_3](https://i.gyazo.com/4bdeb817e26be80294d875102d1dc8b9.jpg#750__499)
NDK not found で
Androidビルドが失敗したあと確認すべき場所は
Preferencesです。
本当にNDKがインストールされていないのかを確認します。
Unity -> Preferences -> External Tools
![【Unity】Androidビルドに必要なNDKはUnityHubでインストール_4](https://cdn-ak.f.st-hatena.com/images/fotolife/e/esakun/20210523/20210523092347.png#562__91)
You are missing the recommended Android NDK. Install the recommended version using UnityHub
このような警告で、
NDKがUnityにインストールされていないことが確認できました。
UnityHubからNDKをインストール
Install the recommended version using UnityHub
先の警告通りUnityHubでNDKをインストールしましょう。
これが最も簡単で最短の方法です。
![【Unity】Androidビルドに必要なNDKはUnityHubでインストール_5](https://cdn-ak.f.st-hatena.com/images/fotolife/e/esakun/20210523/20210523090520.png#750__459)
NDKを追加したいUnityのバージョンを選択します。
![【Unity】Androidビルドに必要なNDKはUnityHubでインストール_6](https://cdn-ak.f.st-hatena.com/images/fotolife/e/esakun/20210523/20210523090536.png#318__258)
Add Modulesをクリックします。
![【Unity】Androidビルドに必要なNDKはUnityHubでインストール_7](https://i.gyazo.com/57f2bafafcad8d8b092f09a6a714ba07.png#750__227)
Android SDK & NDK Tools に
チェックを入れてインストールします。
NDKのインストールが完了したら
Unityに戻りましょう。
再度Preferencesでインストール完了の確認
Android NDK Installed with Unity(recommended) の
チェックを付け直します。
![【Unity】Androidビルドに必要なNDKはUnityHubでインストール_8](https://cdn-ak.f.st-hatena.com/images/fotolife/e/esakun/20210523/20210523093248.png#750__65)
すると表示が更新されて警告が消えます。
正常にNDKがインストールされたということです。
まとめ : Androidビルドに必要なNDKはUnityHubでインストールしよう
![【Unity】Androidビルドに必要なNDKはUnityHubでインストール_9](https://i.gyazo.com/5ce1496fc432d6b628e91630ddd06165.jpg#750__499)
記事の内容を簡単にまとめます。
- NDKはAndroidビルドで必要
- NDKはIL2CPPのビルドで使用されている
- UnityHubからNDKを追加が簡単
こんな感じです。
JDKが見つからない時もUnityHubで解決できました。
これからのビルド環境はUnityHubが担っていくのでしょう。
本当に良い時代です。
![](https://i.gyazo.com/c1efd9a056f9d9fc4fdb8d25e1315edc.jpg#1280.0__853.0)
この記事が気に入ったらフォローしよう
「Unity初心者大学」というUnity初心者向けのYouTube始めました!!
ぜひチャンネル登録をお願いします!
最後まで読んでいただきありがとうございました!
すばらしいAndroidビルドライフをお過ごしください。
- Unity2021.1.2f1