UnityでAndroidのアプリを開発したい…
けどAndroidビルドの方法がやってみたけどわからない…
Unity2019をインストールし、Androidビルドを行えるように設定できたので、今回はUnity2019でAndroidビルドする手順をまとめていきます。
Unity2019ではUIも多少変更があるので、そこらへんにも触れつつ、書いていきます。
正直ビルドなどの環境構築は開発初心者にとっては難しくてよくわからないと思いました。(私も初心者)
なのでこの記事では、Androidビルドの手順を学びつつ開発に役立つような情報を提供できればなと思います。
■UnityでAndroidビルドする方法
Androidビルドの手順を解説していきます。
その前に、私の開発環境について触れておきます。
<開発環境>
・OS:windows10 64bit
・Unity v2019.1.0
・スマホ:asus zenfone max pro m1, Huawei P10 lite
Unityのバージョンは2019年5月時点で最新の2019.1.0を使っていきますが、これ以前のものでも大丈夫です。むしろ以前バージョンの方が情報が多いです。
スマホは2つの端末で動作確認を行いました。
1. SDK・JDK・NDKのインストール
まず初めにするのはSDK・JDK・NDKのインストールです。簡単に説明すると、これらはUnity上のプログラムをAndroid上で動くようにビルドしてくれる機能です。
Androidはjavaのコードで動いているので、UnityのC#コードをjavaのコードとして読み替えてくれるわけですね。
ではそれぞれをインストールする方法を解説していきます。
・Android SDKのインストール
以下リンクからAndroid SDKをダウンロードしてきましょう。
下の方へスクロールすると、以下のような画面が出るのでRecommendの付いている方(.exe)をダウンロードし、インストールします。
ちなみにexeファイルとzipファイルの違いは、開発環境への対応のしやすさです。exeはコンパイル済みファイルですが、zipファイルの方は自分でビルドしないと使えません。
インストール方法は手順通りに進めていけばよいので割愛させていただきます。
・JDKのインストール
JDKは以下リンクからダウンロードできます。
https://www.oracle.com/technetwork/java/javase/downloads/index.html
ダウンロードするバージョンはJava SE 8u211 / Java SE 8u212のどちらかを推奨です。とにかくJava SE 8~~のものを推奨。
2019年5月時点で最新のJDK、Java SE 12.0.1をインストールし使おうとしても要求が違うとの理由でエラーが出ます。
こちらもインストール手順は指示に従うだけなので割愛。
・NDKのインストール
NDKをインストールしなくてもAndroidビルドは行えますが、NDKを使うとビルドが速くなる?とのことなのでインストールしておきましょう。
https://developer.android.com/ndk/downloads/older_releases.html?hl=ja
こちらのリンクからAndroid NDK、リビジョン 16b(2017 年 12 月)をダウンロード、解凍しておきます。
保存場所は覚えておいてください。
次の項目でUnityからNDK保存先へパスを通します。
2. Unityでパスを通す
Androidビルドに必要なものをダウンロード、インストールできたら、Unityでパスを通していきます。
Unity2019ではUnityHubを使えば最適なSDK、JDKに自動でパスを通してくれるようですが、今回はver2019以前のバージョンでも使える従来の方法を説明します。
以下Unityで操作します。
1:適当なプロジェクトを作成
プロジェクト名 TestApp
2:[Edit]>[Preferences]>[External Tools]を開く
何もいじっていない状態ですと、このように表示されます。
上から3つ全てのチェックボックスを外すと、以下のようにテキストボックスが開きます。
3:パスを通す
デフォルトでインストールされる場所は以下の通り。
JDK: C:/Program Files/Java/jdk1.8.0_172
SDK: C:/Users/username/AppData/Local/Android/Sdk
※username:自分のユーザーネーム
NDK: 上の項目で選択した解凍場所
なお、SDKのパスに含まれるAppDataフォルダーは隠しファイルに設定されているため、エクスプローラーを開き、[表示]>[隠しファイル]にチェックを入れます。
これでUnityからSDK・JDK・NDKにパスが通りました。
次にAndroid側で実機ビルドが行うための設定をしていきましょう!
3. Androidの開発者向けオプション有効化
Androidでビルドしたプロジェクトを動かすために、開発者向けオプションを有効化します。これを有効化しないと自分でビルドしたプロジェクトを実機で動かすことができません。
以下、Android端末での操作です。
1:[設定]を開き、端末情報のページへ。ビルド番号を数回タップすると、開発者向けオプションが有効になります。
2:一つページを戻り、開発者向けオプションのページへ。(設定のページ内に新しく表示されます)
PCとAndroid端末をUSBケーブルで接続。
3:開発者向けオプション>デバッグ>USBデバッグを有効化
4:開発者向けオプション>ネットワーク>USB設定の選択
充電→MTPに変更
MTP:ファイル転送可能のモードです。
ほかの設定項目は今回はいじらなくて大丈夫です。
これでAndroid端末の設定が完了しました。
なお、きちんとAndroid端末がPCに認識されているかを調べたい場合は、デバイスマネージャーで確認することができます。
画面左下の[Windowsキー]を右クリックし、[デバイスマネージャー]を起動。
Android端末はポータブルデバイスの項目に認識されます。
4. ビルド
さて、いよいよビルドをしていきます。とはいってもやることは単純なので難しく考えずにいきましょう。ほぼエラーが出ると思いますが、その時はエラーを丸ごと検索かけて解決していきましょう。
私が発生したエラーについてはビルドの解説の後に載せています。
1:PlatformをAndroidへSwitch
[File]>[Build Settings]を開き、左下の[Platform]からAndroidを選択。最下部に表示される[Switch Platform]をクリックします。
2:Packcage Nameの変更
[File]>[Build Settings]>[Player Settings]を開きます。(上の画像の一番左下)
もしくは、[Edit]>[Project Settings]>[Player]です。
[Player Setting]>[Other Settings]>[Identification]>Package Nameを変更します。〇〇.〇〇.〇〇の構文であれば問題ありません。
例:com.unity3d.TestApp
デフォルトの名前に、アプリ名を追加すれば問題ないです。何も追加しないとエラーが出ます。
3:Run Deviceを設定し、Build&Run
再び、[File]>[Build Settings]に戻り、Run Deviceに自分のAndroid端末を設定し、Build&Run。
apkファイルの名前を設定するウィンドウが開くので、アプリ名を適当に付けます。(例:build)
このままうまくビルドできればOKです。お疲れさまでした!
できなかった人は次のことを確認、試してみてください。
・Run Deviceに自分のAndroid端末が表示されない
→Android端末のUSBデバッグモードがオンになっているか確認。スリーブモードになるとオフになります。
→→USB設定がMTPになっているか確認。充電だとAndroid端末として認識されません。
→→→デバイスマネージャー>ポータブルデバイスを確認。ここで見つからない場合はUSBケーブルの接続不良、ドライバーの更新などが考えられます。
最後にRun Deviceの右にあるRefreshをクリックしてみてください。
・Package Name has not been collectly
→Package Nameの付け方に間違いがあります。[Player Setting]>[Other Settings]>Package Nameを変更してみてください。上の方に詳しい説明があります。
例:com.unity3d.TestApp, abc.def.ghi 〇〇.〇〇.〇〇の構文で、デフォルトを変更すればOKです。
・No compatible Android device found
接続中スマホのAndroidバージョンが、Unityにインストールされていないために起こります。
→Android端末を操作:[設定]>[端末情報]>[Androidバージョン]を確認
→Android Studioを操作:[Tool]>[SDK manager]>[SDK Platform]で自分のAndroid端末のAndroidバージョン以下のものをダウンロード
例:自分のがAndroid 8.0だったら、Android7.1.1以下をダウンロード
→Unityを操作:[Player Setting]>[Other Settings]>[Identification]>[Minimun API Level]をダウンロードしたバージョンに変更
これ以外の場合はプロジェクト自体にエラーがあってビルドできない場合が考えられます。
他にも予期せぬエラーが発生することがありますが、エラー文章をそのまま検索してみてください。同じエラーが発生していた場合はだいたい答えが見つかります。
■まとめ
今回はUnityプロジェクトをAndroidビルドしてみました。
上の手順解説を読んできた方ならわかると思いますが、Androidビルドは環境構築の際にエラーが多発します。つまり、環境構築が難しいわけです。
しかし、ここを乗り越えられたなら、あとはひたすらコーディングするのみです。頑張ってください!
良いアプリをつくれるよう願っております。
最後に余談を1つ。
日本ではiPhoneが人気(2017年のシェア率70%だとか…)ですが、世界的なシェア率でみるとAndroidが80%ほどのシェアを持っています。つまり、Androidの方がマーケットが大きいわけです。
言語が関係のないアプリをつくれば世界のマーケットに出すことができ、より多くの人に遊んでもらえるかもしれません。
以上になります。最後まで読んでいただきありがとうございました。