結構詰まったのでメモ。
環境は2019.4.13 f1 LTS。
これを書いた日は2020/10/31です。
ただ、UnityのAndroidビルド関係は複数の要因で詰まるみたいで、この記事のやり方で直るかは人によると思います。
私の場合はこれで直ったということで、あくまでも参考に。
最初にAndroid Build Supportを入れたけど、デフォルトのサンプルシーンすらビルドできなかった(-_-;)
最初のプロジェクト作成の段階で、Android Build Supportとかいうのを入れました。
「これを入れれば簡単にAndroid用のapkをビルドできるのかな。便利な時代だね(*^-^*)」とか思ってたんだけど、ダメみたい( ̄▽ ̄;)
上の画像のエラーが出て、これで「Update Android SDK」を選んでも、「Use Highest Installed」を選んでも、エラーが出てビルドできない(-_-;)
最初は2020.1.11fでやろうとしたけどダメで、「LTSなら安定版らしいし大丈夫だろう」と思って2019.4.13 f1(LTS)を入れたけどダメだった。
LTSとは一体…。
長期サポートするってだけで、安定して動作するわけではない感じ?
Android Studioとかいうのを入れて、SDKファイルをAndroid Studioのフォルダに指定したら解決した
Android Studioはこれね。
これをインストールして、右下の歯車アイコンの「Configure」っていうのをクリックして「SDK Manager」ってのを選んで、
動作させたいAndroidバージョンのSDKをインストールする。
↑の赤枠部分、通常だと
C\Users\ユーザー名\AppData\Local\Android\Sdk
にSDKがインストールされるみたいだから、Unityの設定でSDKのパスをここに指定すればOK。
Unityで 編集(edit) → 環境設定(Preference)で、外部ツール(Extra tools?)のAndroid設定のSDKのチェックを外して、パスを書き換えればOK
赤枠部分に、Android Studioに書いてあったのと同じパスを指定すればOK。
ここでチェックを戻してしまうと、デフォルトでUnityに入ってるSDKが使われてしまい、最初のエラーが出てしまう。
注意点 Androidの実機をUSB接続してビルドする時、実機のAndroidバージョンとSDKのバージョンが合っていないとエラーが出る
AndroidのSDKはバージョンごとに結構な容量があるから、必要なやつだけ選んでインストールする感じなのかな?
接続する実機のAndroidバージョンが8.0なら、Android8.0のSDKをインストールしておかないといけない。
ただ、これはAndroid StudioのSDK Managerでインストールすればいいだけだから、詰まりはしなかったかな。
正常にビルドできたapkを、SDKを入れてないバージョンのAndroid端末にインストールしようとしたら「解析エラー」が出てダメだった
Android8.0のSDKを入れて、Android8.0端末を接続してビルドしてapkを作った後、そのapkをAndroid4.4のスマホに持って行ってインストールしようとしたら解析エラーが出てダメだった。
4.4のSDKを入れてからビルドしたら、ちゃんとインストールできました。
出来れば全部のバージョンをインストールしておいたほうがいいのかもしれないけど、あまりに古いのはもう切り捨てていく流れなのかな。
最近のAndroidアプリを見てると、大抵は4~5以降だけサポートって感じのが多いかな?
minimum API Levelがなんとか~ってエラーが出る時は、ビルド設定の最低APIレベルを見直す
ここちょっとうろ覚えだけど、ここの最低APIレベルとターゲットAPIレベルをいじったら直った。確か。
ただ、これもインストールしていないバージョンを指定するとエラー出るんだったかな?
面倒ならとりあえず使いそうなバージョンのSDKは入れておくといいかもしれない。
おわりに
これで無事にビルドしてAndroid端末に入れて動作させられたよ。
でもモバイル端末用だと容量の問題があるから、どうやって作っていくかはよく考えないといけないかもしれない。
とりあえずやってみたけど、私のモデルと床を配置しただけでアプリが40MBくらい行ったから、結構きついかも( ̄▽ ̄;)
動作もかなり重くなるから、これならwindows向けにしたり動画にしたほうがいいかな(;^_^A
まぁ一応作り方は分かったし、勉強になったからいいかな。