Android
AndroidStudio

Android Studio 3.1でビルド時にapkが作られなくなった時の対処方法

概要

Android Studioを3.0.1から3.1にアップデートしたら、ビルドしてもapkが作られず、既にあるapkがインストールされるだけという謎の状況に陥りました。
当然、apkが作られていない場合はインストールされないので、以下のようなログが出ます。

03/27 14:29:14: Launching app
The APK file /path/to/apk/app-debug.apk does not exist on disk.
Error while Installing APK

対策

メニューからRun-> Edit Configurations...を開きます。
スクリーンショット 2018-03-27 14.30.39.png

Before launch: Instant App Provisionのリストを見てください。
この現象が起きている場合はおそらくInstant App Provisionだけになっていると思われます。
スクリーンショット_2018-03-27_14_32_05.png

Android Studio 3.0.1では、このタスクの前にGradle-aware Makeというタスクがあるはずなんですが、何故か消えてしまっています。
スクリーンショット 2018-03-27 14.37.49.png

これがなくなったせいで、InstantAppでの処理の前にビルドが行われなくなってしまっているようです。なので追加してやりましょう。
+ボタンを押してメニューからGradle-aware Makeを選択します。
スクリーンショット 2018-03-27 14.36.03.png

タスク名は空のままでOKを押して追加します。
スクリーンショット 2018-03-27 14.37.27.png

あとはリストの一番上に追加したタスクを移動させれば、インストール前にビルドが実行されるようになるはずです。

余談

Instant Appが原因なら無効にすればいいんじゃね?と思いましたが結果は同じでした。
人によっては問題なかったらしいので、個人の設定によるものかもしれません。
同じ現象に遭われた方がいたら参考にしてください。

追記 (2018.04.10)

Android Studio 3.1.1のリリースノートにて、この問題が修正されたと書かれています。
"In some cases" と書かれているので、やはり必ず起きる問題というわけではないようです…。
https://developer.android.com/studio/releases/index.html#3-1-0