UnityでAndroid向けにビルドしてスマホに転送する方法(Windows編)

Unityで作ったゲームをAndroid向けにビルドし、PCとAndroidスマホをUSBケーブルで接続して転送、実機(スマホ)でアプリとして動作させるまでを説明します。

ちなみにこの記事で使用しているOSはWindows10です。

下準備(初回のみ必要)

Unityで作ったゲームをAndroid用にビルドするために、下準備が必要です。
この下準備は最初に1回だけ設定しておけばOKです。

Android Build Supportをインストールする

Unityのインストール時に「Android Build Support」を選択する必要があります。
もししてない場合は、Unityのインストーラーをもう一度起動して再インストールして下さい。

「Android Build Support」のコンポーネントをインストールしてない場合は、この後のプラットフォームを選択するときにAndroidの項目が出てきません。

Android Studioのインストール

UnityでAndroid向けにビルドする場合、「Android Studio」と言うソフトをインストールする必要があります。
Android Studioは、Android向けアプリを作成するための統合開発環境です。
一言で言えば、「Androidアプリを作るためのソフト」ですかね。

ビルドするために実際に必要なのはAndroid Studioそのものじゃなくて、「Android SDK」なんですが、Android StudioをインストールしたらSDKが勝手に付いてきます。
「SDK」ってなんだ?って思いますが、「Software Development Kit」の略で、アプリを開発するためのツールやソフトを集めたキットとのことです。

下記よりダウンロードページに移動してダウンロード&インストールしてください。

Download Android Studio and SDK tools  |  Android Developers
Download the official Android IDE and developer tools to build apps for Android phones, tablets, wearables, TVs, and more.

UnityにSDKとJDKのパスを設定

Unityのメニュー→「Edit」→「Preferences」と進むとウィンドウ「Unity Preferences」が表示されます。
「External Tools」をクリックするとSDK, JDKのパスを設定する項目があるので、パスを入力するか、「Browse」ボタンを押してSDK、JDKの場所を指定します。

環境によって多少違うかもしれませんが、私の場合は下記のようなパスになりました。(Windows)

SDK

C:\Users\(ユーザー名)\AppData\Local\Android\sdk

JDK C:\Program Files\Android\Android Studio\jre

このようにパスを設定するのを「パスを通す」と表現したりもしますが、PC上のどこの場所にSDK, JDKがあるかをUnityに教えてあげている、ということです。
UnityはSDKやJDKのを利用してAndroid向けにビルドするわけですが、人間が教えてあげないとどこにあるか分かりませんので。

ここでSDKに続き「JDK」と言う謎のワードが出てきましたが、「Java Development Kit」の略です。
Javaと言うプログラミング言語があり、Androidのアプリは基本的にJavaで作られています。
そのJavaでプログラムを作るときに必要になるツール、ソフトを集めたキットがJDKです。

一方、「JRE(Java Runtime Environment)」というのもあり、Javaで作られたプログラムを実行するためのものです。
JDKが開発者向けで、JREがJava製ソフトの利用者向けというわけです。

Android StudioをインストールするとJREも同梱されているみたいで、JDKのパス設定ではこの同梱のJREを指定しています。
JDKじゃなくてJREを指定してますが、これでちゃんと動くので問題ありません。

端末(スマホ)側の設定 開発者向けオプションをONにする

作ったゲームをインストールするために、Androidスマホの開発者向けオプションをオンにします。
「設定」→「端末情報」→「ソフトウェア情報」→「ビルド番号」を7回タップすると「開発者向けオプションがONになりました」みたいなポップアップが出て、設定に「開発者オプション」が表示されるようになります。

「開発者オプション」の中の「USBデバッグ」をONに設定すればスマホ側の設定は完了です。

「ビルド番号を7回タップ」とか、ファミコン版グラディウスの裏技をどことなく彷彿とさせますね。
(ファミコン版グラディウスでは、「上上下下左右左右BA」と言う通称「コナミコマンド」を入力すると自機がパワーアップします。)

ビルドの設定(作ったアプリごとに設定が必要)

これまでの下準備は一度だけ行えばOKですが、ここからの設定は作ったアプリ(ゲーム)ごとに行う必要があります。

Platformを変更する

Unityのメニュー→「File」→「Build Settings」をクリックすると、次のウィンドウが現れます。

ここでどのプラットフォーム向けにビルドするかを選択します。
今回はAndroidなので、もちろんAndroidを選択し、「Switch Platform」をクリック。

プラットフォームを変更してもこのウィンドウは自動で閉じられたりしないので、「ちゃんと変更出来たのかな?」と不安になってしまいますが、「Switch Platform」のボタンがグレーアウトしたらOKなはずです。

Scene(シーン)の追加

作ったゲームに複数のシーンがある場合、ビルドに含めるシーンを登録する必要があります。
Build Settingsウィンドウの「Scenes In Build」を確認して、ゲームに含めるべきシーンが表示されてなかった場合は、プロジェクトビューからドラッグ&ドロップして追加して下さい。

この一覧の並び順には意味があり、ゲームがスタートしたときは一番上のシーンから開始されます。
スタート画面などのシーンは一番上に移動させましょう。

逆に不要なシーンがあればチェックを外しておきます。

Player Settingsで詳細設定

Build Settingsウィンドウの「Player Settings」ボタンを押すと、Inspectorの表示がPlayer Settingsに切り替わります。
ここでは、作ったゲームをAPKファイルとしてビルドするための設定を行います。
APKファイルというのはAndroidにアプリをインストールするインストーラーみたいなものと思って下さい。

アプリを世にリリースするときはこのAPKファイルをアップロードして配布することになります。

アプリの名前を設定する「Produbt Name」

Inspectorに表示されたPlayer Settingsの上の方。
Product Nameでアプリの名前を変更できます。
これがスマホ上でのアプリの名前になります。

Package Nameの設定

InspectorでPlayer Settingsが表示された状態で「Other Settings」をクリックし、Package Nameの設定をします。

Package Nameとは、アプリを識別するための文字列と思ってください。
世界中で同じパッケージネームが存在してはいけません。
本来ならば、自分(自社)が保有しているインターネットのWebサイトのドメインを逆に読んだものを設定するのが、プログラミングの世界では慣例になっています。
インターネットドメインは同じものが2つとありませんから。

自分で独自ドメインのサイトを持っている場合はそれを入力してもいいですが、ない場合は自分の名前とかを入れて他人と被らないようにしましょう。

@@@ table

保有ドメインnekopro99-cat.com
アプリ名Meiro
入力するPackage namecom.nekopro99_cat.meiro

「com.nekopro99_cat」がドメインを逆読みにした箇所で、「meiro」がアプリ名。
他のアプリを作った場合も「com.nekopro99_cat」の部分は同じでかまいません。

android向けにビルドする場合、パッケージネームに「-(ハイフン)」が含まれていたら「_(アンダーバー)」に変えてください。
Androidでは「-」は許可されてないようです。
iOS向けの場合は「-」のままで大丈夫です。

アプリの署名についての設定(Publishing Settings)

InspectorでPlayer Settingsが表示された状態で「Publishing Settings」をクリックし、設定をします。
ちなみに、Android向けのアプリストア、Google Playで公開するときに必要になる設定なので、単にスマホに転送して動作確認したい、と言う場合はこの項目は読み飛ばしても結構です。

まずは「Keystore(キーストア)」のファイルを作成します。
「Create a new keystore」にチェックを入れ、「Browse Keustore」を押すとファイルダイアログがでます。
適当なファイル名をつけて保存してください。

続いてキーストアのパスワードを決めます。
パスワードを決めて、「Keystore password」と「Confirm password」に入力します。もちろんどちらの欄にも同じパスワードを入力して下さい。
パスワードを忘れると公開したアプリのバージョンアップができなくなりますので、忘れないように必ずどこかにメモしておきましょう。

「Key」→「Alias」→「Create a new key」をクリックすると、「Create a new key」と言うウインドウが出現します。

Aliasの名前、パスワード、自分の名前などを入力して「Create Key」をクリック。

再度Aliasの「Unsigned(debug)」をクリックすると、先ほど作成したaliasがあるので、そちらを選択。
「Password」欄に、さっき決めたパスワードを入力します。

ここで作成したKeystoreのファイルとAliasは他のアプリを作る際にも使い回せるので、なくさないように大事に保管します。
なくしてしまった場合、Google Playで公開したアプリをアップデートできなくなる、という結構最悪な状況になってしまいます。

Player Settingsの設定はひとまずこれで終了です。

ゲーム画面のアスペクト比の変更

スマホでゲームをプレイするときに画面を縦長に持つか横長に持つかを設定しておきます。

ちなみに、記事の流れ上ここで設定することになってますが、ゲームを作り始める前の一番最初に設定しておいたほうが良いかと思います。
縦か横か決まってないと、UIの作成もままなりませんし、カメラを配置し直したりする必要があったりしますので

ゲームを作り始める前、プロジェクトを新しく作ったらBuild SettingsでプラットフォームをAndoroidにし、次に説明する画面の設定をしておきましょう。

Gameビューに切り替え、デフォルトでは「Free Aspect」となっているところとをクリック。
解像度やアスペクト比の選択肢が出てくるので、画面の向きが縦長でプレイするゲームの場合は「16:9 Portrait(9:16)」を、横長なら「16:9 Landscape (16:9)」を選択します。
最近は画面のアスペクト比が18:9のスマホも登場していますが、まだまだ16:9が多いですからね。

解像度を指定することも出来ますが、どんな解像度のスマホでプレイされるかわからないので、縦 or 横のアスペクト比の選択でよいかと思います。

Android端末(スマホ)にビルドして転送する

ここまでの長い道のりを超え、いよいよUnityで作ったゲームをビルドしてAndroidに転送するときが来ました。

PCとスマホをUSBケーブルで接続して下さい。

Unityのメニュー→「File」→「Build Settings」をクリックしてBuild Settingsウィンドウを開き、「Build And Run」ボタンをクリックすると、ビルドしてスマホへインストールが始まります。

暫く待つとスマホにUnityのロゴが表示されて、ゲームが起動したでしょうか?
起動したら成功です。

おめでとうございます!

android端末にアプリを転送する時“Gradle build failed”が出るエラーの対処方法

Build and runしようとすると、「Gradle build failed」とやらが出て失敗することがあります。

そんなときはBuild Settingsの「Build System」を「Gradle」ではなく「Internal」に設定して下さい。

他にもビルド時にエラーはたくさん発生しがちです。
表示されたエラーメッセージを読んでみて、そのメッセージでそのままgoogle検索してみたら、大体の対処法は分かりますので、お試し下さい。

コメント