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コマンドでインストールや起動ができるので、
それらを行うエディタ拡張をメニューに追加してやります。
外部プロセスの実行はProcessを使用して行います。
これを使ってadbコマンドを呼び出します。
最初にEditorUtility.OpenFilePanel()を使って、apkを選択します。
そのあと最初のプロセスでデバイスへのインストール(adb install)を行います。
WaitForExit()で終了をまち、その次にActivityを指定して起動を行うプロセスを実行します。
Windowsではアプリの起動までできることを確認しています。
Macでも一応試したのですが、僕の環境では起動には失敗しているみたいで、
ちょっと問題がある?かもしれません。インストールはできていますが、
完璧でなくて申し訳ないです。