ある日突然、ビルド&実行ができなくなる。
ググったらこういうケースがあるみたいです。
ログにはresources_apがFileNotFoundExceptionと出てます。
確認したら、実際ファイルはありませんでした。
正常に動いているプロジェクトには存在しています。
なぜかAndroid4.1エミュレータでは実行できました。
それより上のバージョンではダメです。
起動できない理由は、Instant Runが悪さをしている(?)みたいです。
Instant Runとはコードの修正を簡単にデバッグ中のアプリへと反映する仕組みです。
原因不明なため、今のところ一時的にInstant Runを無効にするという対応策しかないようです。
[File]-[Settings]-[Instant Run]から無効にします。
やっていることはデバッグ方法の変更のみなので、リリースビルドへ与える影響はないはずです。
この現象に遭遇してやったこと
- 再ビルド
- ビルドのクリーン
- Android Studioのキャッシュの破棄&再起動
- OS(Win10)の再起動
- コマンドからadb kill-serverでadbサーバの再起動
全部効果なしです。
「Gradleのバージョンを下げる」というのは試してません。正常に動作したとしても原因を取り除くことにはなっていないと思うので。
なんとなく怪しいと思っていることがあるけど、まだ試してないので書きません。
もし原因が分かれば記事にします。
2019/7/4追記:Google Play開発者サービスを利用するライブラリが怪しい気がしてます。(未検証)