使用環境
- MacBook Pro(Late 2011) + macOS High Sierra(10.13.6)
- Sony Xperia Z5(Android OS ver.6.0)
- Unity 2018.2.21f1
- Android Studio 3.4
- JDK 1.8.0_211
- Android NDK r13b(13.1.3345770)
インストール
古い Android Studio の完全アンインストール
もともと Android Studio 2.3 をインストールしていたが、しばらく触っていなかった。
今回、変にアップデートして何かおかしくなっても嫌なので、https://qiita.com/nagaoyuriko/items/f310b595ff16061e1186 を参考にアンインストールした。
今回、変にアップデートして何かおかしくなっても嫌なので、https://qiita.com/nagaoyuriko/items/f310b595ff16061e1186 を参考にアンインストールした。
Unity インストール
- Unity Hub をダウンロードしてインストール。
- Unity Hub を起動したら、Installs → Official Releases から Unity 2018.2.21f1 を選択してインストール。
- 2019.1 以降だと JDK や NDK もインストールできるらしいが、ここでは諸事情により 2018.2.21f1。
- Android Build Support は必ずチェックする。
Android Studio インストール
- https://developer.android.com/studio/?hl=ja からダウンロードしてインストール。
- これを書いている時点の最新版である 3.4 で動作確認できた。
- インストーラは基本的に全て Next で OK。
- インストールが完了したら Android Studio を立ち上げ、Configure → SDK Manager を起動。
JDK インストール
- https://www.oracle.com/technetwork/java/javase/downloads/jdk8-downloads-2133151.html から Java SE Development Kit 8u211 をダウンロードしてインストール。
- ダウンロード時、Oracle のアカウントが必要だった。
Unity の Android ビルド用設定
- Unity Hub から Standard Assets Example Project を Unity 2018.2.21f1 で開く。

- Unity → Preferences で Unity Preferences ダイアログを開き、External Tools の一番下にある Android の SDK・JDK・NDK のパスをそれぞれ設定する。

- SDK・JDK は自動検出されるっぽい。
- NDK は自分で設定する必要がある。
- この時、NDK は既に 19.2 をインストールしていたので、/Users/{ユーザ名}/Library/Android/sdk/ndk-bundle を指定しようとしたが、Library は隠しフォルダのため、参照できなかった。
- Finder で隠しファイルを表示させる設定は既にやっておいたのだが、アプリケーションのファイル選択ダイアログでは無意味らしい。
- なので、Finder で /Users/{ユーザ名}/Library/Android/sdk を開き、ndk-bundle フォルダをファイル選択ダイアログにドラッグ&ドロップする方法で無理やり設定した。
- …が、後方互換性が無いのか、頑なに r13b (13.1.3345770) を要求してくる(´・ω・`)

- やむを得ないので、Browse ボタンの隣の Download ボタンで android-ndk-r13b-darwin-x86_64.zip をダウンロードし、適当なところ(ここでは /Users/{ユーザ名}/Works/android-ndk-r13b/ に展開してそのパスを指定した。
- File → Build Settings → Player Settings... で右側の Inspector に Player Settings を開き、ドロイド君のアイコンのタブをクリックして Settings for Android に切り替え、以下の設定を変更。

- Package Name … 「unity.会社名.ゲーム名」とするのが普通らしいので、会社名は自分の個人事業主の屋号(MASHSOFT)を使用
- Minimum API Level … Android 5.0(任意らしい)
- Target API Level … Android 5.0(任意らしい)
- Scripting Backend … IL2CPP
- 基本的には IL2CPP にしておいた方がよい(Mono よりも実行時のパフォーマンスが向上する。ただしビルドに時間がかかる)
- 詳しくは https://docs.unity3d.com/ja/2017.4/Manual/IL2CPP.html あたりを参照
Android 実機の設定・接続
- 設定 → 端末情報 → ビルド番号 を7回タップして、開発者モードに切り替える。
- 設定 → 開発者向けオプション を開き、一番上のスイッチをON、さらに「USBデバッグ」をON。

「スリープモードにしない」をONにしておくと便利だが、充電中はずっとスリープしなくなるので、開発していない時はOFFにしておくのを忘れないようにする - USBケーブルで Mac に接続する。
なおケーブルは必ずデータ転送用を使用すること。
ビルド及び実行
- Unity の File → Build Settings... で Build Settings ダイアログを表示し、左下の Platform を Android に切り替え、Build ボタンをクリック。
ファイル名は「test」にした。
- ビルドが開始される。
最初のビルドはかなり時間がかかる。
成功すると、test.apk が生成される。
- 今度は Build And Run してみる。
その際、ファイル名が同じため差し替えるかどうか確認されるので、Replace をクリック。
- 再ビルド実行後、問題なければ実機に test.apk がインストールされ、アプリが起動するヽ(´ー`)ノ

ビルドは成功するが実機に転送できない場合、実機との接続がちゃんとできているか、実機の設定が問題ないか、確認する。
自分の場合、USBデバッグをONにするのを忘れていて、10分くらい悩んだ。
この記事へのコメント