Unity2018インストールからAndroidビルドするまでの手順

# UnityインストールからAndroidビルドする手順（2018/6/20現在）
## はじめに
- Unity本体やAndroidStudioのバージョンアップでビルドがうまくいかないことがよくあるので- 、
現在(2018/6/20)における
「Unityインストール～Android用apkファイルを出力するまで」の方法をまとめてみました。
- 2020/3/23現在、Unity2019.2.12f1で確認したところ、UnityHubでインストールするときに
追加したいモジュールに「Android Build Support」にチェックを付けるだけで、
勝手にJava JDK、Android SDK、Android NDKがダウンロードされるようなので、
最近のUnityバージョンでは以下の手順は全く必要ないかもしれません。。。
  - ちなみにダウンロードされたAndroidのモジュール関係は以下のパスに入っているようです。
      - C:\Program Files\Unity\Hub\Editor\2019.2.12f1\Editor\Data\PlaybackEngines\AndroidPlayer



## 開発環境
- Windows **10**
- Unity Ver **2018.1.5f1** Personal
- Android Studio Version **3.1.3**
- Android SDK Tools **r25.0.2**
- Java JDK (Java Development Kit) **8u171**
- Android NDK **r13b**

## 設定の流れ
- Unityのインストール
- Android Studioのインストール
- Android SDK Toolsの「tools」フォルダを旧バージョンに差し替え
- Java JDKのインストール
- Android NDKのダウンロード
- Unityエディター内のAndroidパス設定
- Unityエディター内でプロジェクトのビルド設定

## Unityのインストール
- 以下のURLからUnity Personalをダウンロードしてインストール
- https://store.unity.com/download?ref=personal
- チェックボックスにチェックして、「Download Installer for Windows」をクリック
<img src="https://qiita-image-store.s3.amazonaws.com/0/104564/cccdeec0-e94f-a9ae-f7ba-eb9570365854.png" width=50%>
- ダウンロードした「UnityDownloadAssistant-2018.1.5f1.exe」をダブルクリック  
![unity2.png](https://qiita-image-store.s3.amazonaws.com/0/104564/c24de1d0-c50e-177f-db2a-fc5c9b92662d.png)
- ライセンス合意にチェックし、基本NextでＯＫ
- 「**Android Build Support**」にチェックをつけるのを忘れずに。iOSでも開発したい場合は「iOS Build Support」もチェック  
![unity1-2.png](https://qiita-image-store.s3.amazonaws.com/0/104564/5684a3ab-af1d-a4d6-2139-ab2ae9848e1c.png)
- インストール先なども指定できるが、特に変更必要なければ「Next」でＯＫ
- 結構時間かかるので辛抱強く待機。「Visual Studio 2017」も同時にインストールされる。



## Android Studioのインストール
- 以下のURLからダウンロードしてインストール
- https://developer.android.com/studio/?hl=ja
- ダウンロードした以下のexeをダブルクリックしてインストール開始  
![unity3.png](https://qiita-image-store.s3.amazonaws.com/0/104564/0be4ae12-a57a-8f3f-7b3d-616d1327817f.png)
- 基本すべて「Next」でＯＫ
- インストールが完了した後に起動
- 起動時に設定をどうするか聞かれると思うので、「Do not import setting」をチェックして進める。
- 「Android Studio Setup Wizard」が始まるので、「Next」
- 「Install Type」は「Standard」を選択して「Next」
- 「Select UI Theme」は「IntelliJ」を選択して「Next」（※別に自由なので好きなものを選択）
- 「Downloading Components」画面でダウンロードが始まるはずだが、うまくダウンロードできない場合は  
「SDK tools directory is missing」となってしまう。（以下のプロキシをチェック）
- 社内などでプロキシ設定をしていると必要なコンポーネント群がダウンロードできないので、以下のSettingsをクリック 
（プロキシ設定されていない環境の場合は以下のプロキシ設定手順は不要です）   
<img src="https://qiita-image-store.s3.amazonaws.com/0/104564/d4f57c36-8be2-e9c7-3607-5795f1a5b321.png" width=50%>
- 以下のように「Host Name」「Port number」「Proxy authenticationのLogin,Password」を設定  
（Internet Explorerの「インターネットオプション→接続タブ→LANの設定→プロキシサーバー」に記載があるかも。） 
<img src="https://qiita-image-store.s3.amazonaws.com/0/104564/dd744081-913a-91a9-a89a-4a492710b8fb.png" width=50%>
- プロキシ設定後、Android SDK Locationの「Edit」をクリックしてパスの設定がうまくできない場合や  
コンポーネント群をチェックできない場合は、  
一度Android Studioをすべて立ち下げてもう一度起動すると、  
自動でデフォルトのコンポーネント群がダウンロードされます。  
（問題なくダウンロードできてそうな場合はこの作業は不要です。）
- プロキシ設定の影響でダウンロードできなかったコンポーネント群がある場合は再度以下の「Configure → SDK Manager」で設定
![クリップボード10.png](https://qiita-image-store.s3.amazonaws.com/0/104564/476f4211-91d8-0692-a17b-66d79a97a00e.png)
- とりあえずAndroid 5.0以上をすべてチェック付けておく。
- Not installedをチェックすると、「Apply」ボタンが有効になるのでクリックしてダウンロード開始
- 「SDK Tools」タブをクリックし、右下の「Show Package Details」をチェックして、  
リスト内の「Android SDK Build-Tools 28」を展開する。
![クリップボード12.png](https://qiita-image-store.s3.amazonaws.com/0/104564/00613f5e-c71a-239c-4d70-9d22dd9dd546.png)
- とりあえずNameの「20.0.0」以降をすべてチェックして、「Apply」してダウンロード開始  
（必要そうなバージョンを全部入れる）
- コンポーネント群のインストールが完了したら、以下のようなSDKのフォルダが生成されていることをエクスプローラーで確認
- ![クリップボード13.png](https://qiita-image-store.s3.amazonaws.com/0/104564/24eed174-0dcc-e538-3f74-322d852c66d6.png)
- 注意(2019/3/21現在) Android Studio→SDK Manager→「SDK Tools」タブ内の「Android SDK Build-Tools28」ですが、「アップデートできます」のメッセージが右端のstatusに出てくる場合がありますが、アップデートしないほうがいいです。（私はアップデートして「29.0.0-rc1」がインストールされたのですが、そうするとビルドできなくなりました。もしインストールしてしまった場合は上図の「sdk」フォルダ内の「build-tools」フォルダ内にある「29.0.0-rc1」フォルダを削除してください。）

## Android SDK Toolsの差し替え(現在不要かも 2019/1/16)
- 上記のフォルダ内にある「tools」フォルダは最新のバージョンが自動で入っているはずだが、  
UnityでAndroidビルドする場合は、逆に古いバージョンに差し替えてあげないといけない。
- 以下のURLのzipファイルをダウンロードし、適当なフォルダに解凍します。  
http://dl-ssl.google.com/android/repository/tools_r25.0.2-windows.zip
- 上記フォルダ内の「tools」フォルダを削除し、解凍した「tools」フォルダを同じ場所に配置する。（＝置き換える）※当作業不要かもしれないため、置き換えずに以下の作業を進めて、ビルド失敗した場合に置き換えてみてください。(2019/1/16)

## Java JDK(Java Development Kit)のインストール
- 以下のURLで「Java SE Development Kit 8u171」をダウンロードする  
http://www.oracle.com/technetwork/java/javase/downloads/jdk8-downloads-2133151.html
- 「Accept License Agreement」にチェックをして、「Windows x64」をダウンロード
![クリップボード14.png](https://qiita-image-store.s3.amazonaws.com/0/104564/b660c98c-7e7c-79e9-ba41-b059d754325a.png)
- 後は基本「Next」でＯＫ

## Android NDKのセットアップ
- Unityで「IL2CPP」を使用する場合に必要になりますが、使用したほうがいいので設定します。
- 以下のURLからzipファイルをダウンロード(容量がでかいです）  
https://dl.google.com/android/repository/android-ndk-r13b-windows-x86_64.zip
- 適当な場所に解凍しておきます。（今は「D:\Unity」に配置）

## Unity側のAndroidパス設定
- Unityエディターを開き、「Edit」→「Preferences」→「External Tools」を開く  
 ![クリップボード15.png](https://qiita-image-store.s3.amazonaws.com/0/104564/e7f9b168-6068-a646-0eef-eefd3b707c69.png)
- 「Android」の「SDK」「JDK」「NDK」のパスを設定する。（デフォルトだと以下のパスになるはず）  
SDKパス例「C:\Users\各ユーザー名\AppData\Local\Android\Sdk」  
JDKパス例「C:\Program Files\Java\jdk1.8.0_171」  
NDKパス例「D:\Unity\android-ndk-r13b」（これは解凍した場所なので任意）
- これでビルド前の下準備は完了です。（↓ 以下はメッセージが出た場合のみ行ってください ↓）
- ※2019/5/1現在  以下の図のようにビルド時にNDKのバージョンが「r16b」を求められる場合があります。
- この場合は、図の「Download」をクリックし、「r16b」のzipファイルがダウンロードできますので、任意の場所に保存をし、上記の手順と同じようにパスの設定をUnity上で行ってください。  
![キャプチャ.PNG](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/104564/52d32edb-957f-07f8-c3f7-a36b0153074d.png)
- 以下は各プロジェクトをビルドする場合のセッティングになります。


## プロジェクトのビルド時の設定
- Unityでビルドしたいプロジェクトを開く
- 「File」→「Build Settings」を開く
- 「Platform」を「Android」に設定し、以下の図のように設定する。  
 ![クリップボード16.png](https://qiita-image-store.s3.amazonaws.com/0/104564/d05ac249-a93e-fb8e-5995-59c27d2f8dbf.png)
- 「Player Settings」をクリックする。
- Unityエディターの右側の「Inspector」が「PlayerSettings」に切り替わることを確認
- 「Settings for Android」の設定を下図のように設定する。（青枠部分）  
 ![クリップボード16.png](https://qiita-image-store.s3.amazonaws.com/0/104564/227666b7-41b3-0d6a-ffc8-12da03dd4026.png)  
「Package Name」は「unity.会社名.ゲーム名」にしておくのが普通のようです。（名称は任意でＯＫ）  
「Minimum API Level」と「Target API Level」は設定は任意です。（今はAndroid 5.0としています）  
- 設定が終われば、「Build Settings」右下の「Build」をクリック
- ビルドするファイル名を聞かれるので、「Test.apk」などの名前を付けてビルド開始
- ビルドが始まり、無事にapkファイルが生成できれば成功！！（Console画面に以下が出れば成功）  
 ![クリップボード17.png](https://qiita-image-store.s3.amazonaws.com/0/104564/2b8e07e7-9a2a-541b-b3cb-8822874bc8e4.png)

## 実機でデバッグ
- ビルドしたapkファイルをAndroid端末へコピーして、インストールするだけ。
- Android端末の開発者デバッグ設定を忘れずに（参考URLに詳細記載されています）
- 以下のアプリをAndroid端末へインストールすると、APKファイルを自動で探してインストールしてくれるので便利です。  
インストーラ（Install APK）  
https://play.google.com/store/apps/details?id=com.rhythm.hexise.inst


## 参考URL
- http://indie-du.com/entry/2016/10/21/100835
- https://qiita.com/relzx/items/7f8e7817c9edd11c5023