1
0

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?

More than 5 years have passed since last update.

ApplyChanges(InstantRun)が"multiple process"がなんとかで動かないのをなんとかする

Last updated at Posted at 2019-04-18

はじめに

ApplyChanges(AndroidStudio3.3以前はInstantRun)は非常に便利な機能です。
使いこなすことでAndroidの開発速度を向上させることが出来ます。
しかし、もともとあまりInstantRunが使われていなかったプロジェクトではいきなり動かしてもきちんと動いてくれないことがあります。

現象

ApplyChanges(InstantRun)でアプリをビルドすると

Instant Run applied code changes and restarted the app.The app was restarted since it uses multiple processes.

というメッセージが表示されて、アプリが再起動される。Activity単位のホットスワップが出来ない。

解決方法

ホットスワップが出来ない原因はメッセージに書いている通りです。
ApplyChanges(InstantRun)は複数プロセスが動くアプリに対応していないので、AndroidManifestからandroid:processを定義しているserviceを全て削除することでうまく動くようになります。
この複数プロセスというのは依存しているライブラリも含むので、マージ後のAndroidManifestも確認する必要があります。

おわりに

今回問題の発生したプロジェクトではこれでうまくホットスワップが使えるようになりました。
最初から英文を読めばすぐに解決していた感じですが、メッセージの表示が「問題がなかった」感の強い緑色のトーストで表示されていたために、アレ?となってしまいました。
また、本文とはあまり関係がないのですが、AndroidStudio3.4がリリースされ、ApplyChangesが使えるようになりました。
不安定だったInstantRunを色々改良したもののようです。
InstantRunが不安定で忌避していた方も、もう一度試してみてはいかがでしょうか?

参考

1
0
0

Register as a new user and use Qiita more conveniently

  1. You get articles that match your needs
  2. You can efficiently read back useful information
  3. You can use dark theme
What you can do with signing up
1
0

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?