Android 版のビルド、および実行手順

目次

  概要
  プラットフォームを Android に変更する
  Android 版アプリケーションのビルド前設定
  Android 版アプリケーションのビルド
  Android 版アプリケーションのインストール
  Android 版アプリケーションの実行


概要

MUN で生成した Unity プロジェクトを Android 版でビルドする場合の手順について

  ここでは MUN で生成した Unity プロジェクトについて、
  Android 版実行バイナリとして生成し、実行する手順について触れます。


プラットフォームを Android に変更する

ビルド用のサブウィンドウを起動する

  まずは実行バイナリを生成するために、ビルド用のサブウィンドウを起動させます。
  Windows の場合、Unity Editor のメニューから、File > Build Settings... を選んでください。
  Mac の場合、Unity Editor を動かしている状態で、MacOSX または macOS Sierra 上のメニューから、File > Build Settings... を選んでください。
   

ビルド用のサブウィンドウで、Android プラットフォームを選択する

  すると「Build Settings」のサブウィンドウが立ち上がりますので、その中の上部にある「Scenes In Build」のダイアログ内に
  アプリケーションの動作に必要となるシーンファイルを登録します。
  また、サブウィンドウ左下の「Platform」については、「Android」を選択し、開発ターゲットを切り替えます。
  サブウィンドウ右下の「Switch Platform」ボタンを押してください。

  Android プラットフォームへのターゲット切り替え(素材の変換処理)が完了するまで時間が掛かります。
  変換ダイアログに表示されているプログレスバーが完全に一杯になるまで、しばらくお待ちください。
  Androidへのターゲット切り替えが完了するとダイアログが自動的に閉じます。

Android プラットフォームの動作設定を行なう

  Android プラットフォームへのターゲット切り替えが完了したところで、画面左下部にある
  [Player Settings...] のボタンをクリックします。


Android 版アプリケーションのビルド前設定

アプリケーション名の設定

  [Player Settings...] をクリックすると、UnityEditor 側の Inspector に Android プラットフォームのプロパティ設定画面が表示されます。
  Inspector最上部に表示される「Product Name」が、Androidアプリケーションの名前の設定欄です。
  任意の名前を設定したい場合には、ここで名称を変更してください。
     ※ デフォルトのままで差し支えなければ、そのままで構いません。

アプリケーションのカスタムバンドルIDの設定

  画面中央より下の「Settings for Android」と表示されている箇所で、Androidプラットフォーム向けの個別設定を行ないます。
  まず、この項目中の、「Other Settings」 内にある 「Identification」 > 「PlayerSettings.bundleIdentifier」の項目に対し、
  Android アプリケーションを識別するためのカスタムバンドルID を登録します。
     ※ 一般的にはドメインネーム+アプリケーション名を指定しますが、特に配信を考えなければ、任意の、ドット(.)付きの文字列で構いません。
     ※ デフォルトの設定名(com.Company.ProductName のままではビルドエラーが発生するため、必ず変更してください。
     ※ 以下の画像では、com.monobitengine になっていますが、あくまで一例です。
       配信時には「独自のオリジナルな名前」を付けることは最低限行なっておきましょう。

アプリケーションのビルド設定を IL2CPP に変更する

  同様に、「Other Settings」 内にある 「Configuration」 > 「Scripting Backend」 の項目について、
  アプリケーションのビルドパッケージを IL2CPP で作成するように変更します。
IL2CPPでのビルドは、アプリケーションの高速化と最適化のため、何よりチート対策のためには欠かせません。
そして64bit版アプリケーションのリリースにおいては必定事項で、GooglePlayリリースの規定上において、次のように定まっています。

・2019年8月以降、64bit版に対応していない新規アプリの公開はできません(既存アプリの更新は可能)。
・2021年8月以降、64bit版に対応していないアプリの公開はできません(新規・既存アプリ双方)。

詳細につきましては下記リンクをご覧ください。
Android Developers Blog: Get your apps ready for the 64-bit requirement

アプリケーションのターゲットCPUアーキテクチャの設定

  もし Unity 2018.2 以降(または Unity 2017.4.16 以降)のバージョンを使用している場合、Android アプリケーションのCPUアーキテクチャを指定できます。
  「Other Settings」 内にある 「Configuration」 > 「Target Architectures」 の項目について、
  32bit 版アプリとしてリリースする場合には ARMv7 および x86 のチェックボックスの2つのみを、
  64bit 版アプリとしてリリースする場合には ARM64 のチェックボックスのみを ON にしてください。
なお、GooglePlayリリースの規定上において、次のように定まっています。

・2019年8月以降、64bit版に対応していない新規アプリの公開はできません(既存アプリの更新は可能)。
・2021年8月以降、64bit版に対応していないアプリの公開はできません(新規・既存アプリ双方)。

詳細につきましては下記リンクをご覧ください。
Android Developers Blog: Get your apps ready for the 64-bit requirement

アプリケーションのインターネット接続機能を「常時許可」に変更する

  続けて、「Other Settings」 内にある 「Configuration」 > 「Internet Access」 の項目について、
  デフォルトの「Auto」から「Require」に変更し、インターネット接続について常時許可設定にしておきます。
  この設定を怠ると、Androidデバイスでネットワーク通信が出来ませんので注意してください。

アセットバンドルを利用する場合、IL2CPP ビルドにてAssetBundleが消失するのを防ぐ

  Android端末向けに IL2CPP でビルドする場合、ビルド途上で Unity が「不要」と判断したスクリプトやデータ類は
  全て破棄した状態でアプリケーションを生成します。
  この時、アセットバンドルは有効なスクリプト内での利用の是非を問わず、問答無用で削除されます

  そのため、プロジェクト内でアセットバンドルを使用している場合、アプリケーション上での読み込みは100%失敗します。

  これを防ぐには、「Other Settings」 内にある 「Optimization」 > 「Strip Engine Code」 のチェックボックスを OFF にします。
  デフォルトではONになっていると思われますので、このチェックボックスをOFFの状態にして無効にしてください。


Android 版アプリケーションのビルド

ビルドを実行する

  Android 版のアプリケーションのビルド設定がが終わったところで、
  もう一度「Build Settings」のサブウィンドウに戻り、[Build] ボタンをクリックしてください。

  Android用のアプリケーションパッケージのファイル名を設定する画面が表示されますので、
  任意のファイル名を入力し、画面右下の「保存」ボタンを押します。
    ※ 拡張子(.apk)は省略することもできます。

  しばらく待つと、新規の実行パッケージ(.apk) が出来上がります。
  頒布の際には、このファイルをそのまま頒布してください。


Android 版アプリケーションのインストール

インストール先の Android デバイス(Android エミュレータ)のデバイスIDを調べる

  Android デバイスにアプリケーションの実行パッケージをインストールする前に、
  インストール先の Android デバイス(またはAndroidエミュレータ)のデバイスID を調べる必要があります。

  事前に Android SDK をインストールし、同 Android SDK の platform-tools にパスが通った状態で、
  Windows であればコマンドライン、Mac であればターミナルから、以下のコマンドを実行してください。
adb devices

  コマンドを実行すると、現在接続中の Androidデバイス(Androidエミュレータ)のIDが表示されます。
  複数の Android デバイス(Androidエミュレータ)を接続(起動)している場合、複数行で表示されます。

目的の Android デバイス(Android エミュレータ)に apk をインストールする

  デバイスIDが判明したところで、目的の Android デバイス(Androidエミュレータ)に apk をインストールしましょう。
  Android デバイス(Androidエミュレータ)側で「提供元不明のアプリケーション」のインストールを有効にした上で、
  Windows であればコマンドライン、Mac であればターミナルから、以下のコマンドを実行してください。
adb -s <デバイス名> install <APKファイル名>

  実行すると、インストール処理が開始されます。
  インストールに少々時間が掛かりますが、インストールが正常に完了すると、以下のように"Success" と表示されます。


Android 版アプリケーションの実行

Android デバイス(Androidエミュレータ)のメニューから実行する

  Android デバイス(Android エミュレータ)にインストールされた実行アプリは、Android のメニューを開くと、
  アプリアイコンとして以下のように登録されています。
  これをタップすることで、MUNの実行バイナリがUnityアプリケーションとして起動します。