Android
AndroidStudio

Android Studioのプロジェクトを移動したらアプリケーションインストールエラーが出た

こんにちは @kako_351です。

Android Studioのプロジェクトを、既にgit管理しているフォルダの中に移行して、ビルドしたら以下のようなエラーがでて、困ったので備忘録です。

状況(仮)

移動前のパス: D:\Users\username\src\sampleproject
移動後のパス: D:\Users\username\src\gitproject\sampleproject

gitproject(仮)の中に移動しました。
その後に、Android Studio で実機デバックしようとし、ビルドしたときに出たエラーです。

Installation failed

Installation failed with message Invalid File: D:\Users\username\src\sampleproject\app\build\intermediates\split-apk\debug\slices\slice_8.apk.
It is possible that this issue is resolved by uninstalling an existing version of the apk if it is present, and then re-installing.

WARNING: Uninstalling will remove the application data!

Do you want to uninstall the existing application?

OKかキャンセルが押せるのですが、OKを押してもインストールに失敗してしまいました。

リビルドしたら直ったww

正しくは、Clean ProjectしてからRebuidしました。

ものは試しと思い、リビルドしたところ実機にインストール成功して無事アプリが起動できました。
めでたし、めでたしですが、後学のためにちょっと調査してみます。

まずはggrks

結論: Instant Run の機能(たぶん)

エラーメッセージは、「D:\Users\username\src\sampleproject\app\build\intermediates\split-apk\debug\slices\slice_8.apk」と記載があるので、移動前のパスを参照しているようです。

「一度ビルドしたらパスを記憶するか?」と思い、検索したところ、公式サイトに以下の記載を発見。

Instant Run について

アプリのデプロイ後は [Run] ボタン(または [Debug] ボタン)に黄色い雷アイコンが表示されます。これは 次回このボタンを押した際に、Instant Run が更新内容をプッシュする準備ができていることを表します。Instant Run では新しく APK をビルドせず、新たな変更点だけをプッシュします。場合によっては再起動すらせずに、すぐにコード変更による影響を確認することができます。

(公式より引用:一部省略)

Instant Runが機能していたために、新しいAPKが作られずに移動前のパスを読もうとしてたようですね。
Clean Project => Rebuidで直ったのも納得です。

今回は、AndroidStudioについての知識が足りず反省と、いいお勉強になりました。
AndroidStudioはハマりどころ多いですが、基本便利で使いやすいので好きなツールです。

おしまい。