AndroidでビルドはもういいRunしたいってとき

このポストは

Unity 2 Advent Calendar 2015 - Qiita

の7日目の記事です。

 

UnityでAndroidアプリ開発をしていて、apkをビルドはしないで、インストール&実行だけしたいときの解決っという小ネタです。

 

UnityのメニューやBuild settingsから行えるのは

Build  -> apkの作成

Build & Run -> apkの作成、デバイスへのインストール、実行

の2つ。

 

すでに一度apkを作成しており、デバイスにインストール&実行したいっていう場合には対応したメニューはありません。

そういった場合にUnity上だけの作業でどうにかしようとするのであれば、

もう一度Build& Runを実行する。

でも、これだともう一回ビルドしてapkを作成してしまうので、

その分、ビルドをする分時間がもったいないです。

 

まあ、そもそも、

この欲求を感じるケースが、

そんなに良くあるケースかというと、

どうだろうという話でもあるのではありますが、

同じビルドを配布したいようなケースではUnity Cloud buildを使えばいいし。

どういう場合にあるかというと、例えば、

オンライン要素のあるゲームで、

ローカル作業の変更をビルドして2つのデバイスにインストールして確認したい、とか。

まあ、たまにあったり、

ゲームのある部分の開発をしているときだけ良くあったりする、という感じでしょうか。

自分では、最近しばしば、どうにかしたいときがあったので、

対処を考えてみました。

 

解決方法として、

apkはandroidSdkに含まれるadbコマンドでインストールや起動ができるので、

それらを行うエディタ拡張をメニューに追加してやります。

 

 

gist.github.com

 

 外部プロセスの実行はProcessを使用して行います。

これを使ってadbコマンドを呼び出します。

最初にEditorUtility.OpenFilePanel()を使って、apkを選択します。

そのあと最初のプロセスでデバイスへのインストール(adb install)を行います。

WaitForExit()で終了をまち、その次にActivityを指定して起動を行うプロセスを実行します。

 

Windowsではアプリの起動までできることを確認しています。

Macでも一応試したのですが、僕の環境では起動には失敗しているみたいで、

ちょっと問題がある?かもしれません。インストールはできていますが、

完璧でなくて申し訳ないです。