LoginSignup
5
1

More than 5 years have passed since last update.

Instant Runでビルドされたapkファイルを配布すると、『Unable to instantiate application com.android.tools.fd.runtime.BootstrapApplication』という理由でクラッシュすることがある

Last updated at Posted at 2016-12-14

Android StudioのRunで生成された apkファイルを配布すると、、、

Android Studio で Run すると、デフォルトでは、
/<AndroidProcject>/app/build/outputs/apkにapkファイルが生成されます。

Android Studio 2.0 で導入された Instant Runでも、
同じようにapkファイルが生成されますが、このapkファイルをテスト用で配布すると、
下記のRuntimeExceptionが、、、

java.lang.RuntimeException: Unable to instantiate application com.android.tools.fd.runtime.BootstrapApplication: java.lang.ClassNotFoundException

原因

どうやら、Instant Runでビルドされたapkは、デバッグしている端末に最適化されてビルドされるため、
最適化された端末と合わない端末では実行されないらしい。

※ Android OS 5.0.2系端末でビルドしたapkファイルが、 5系、6系では問題起きませんでしたが、
 Android 4.4系で起動した瞬間にクラッシュしました。。。

対応

  1. Instant Runをやめる

    • メニューバー => Android Studio => Preferences... => Build, Execution,Deplpyment => Instant Run
    • Enable Instant Run to hot swap code/resource changes on deploy のチェックを外す
  2. メニューバー => Build => Build apk で作成する

    • 横着せずにこれでやるべきですね。。。

所感

該当端末をUSB繋いで、Android Studioでビルドしても再現せず、
apkファイルでインストールされたアプリでログを取らないとわからなかった。。。

参考

5
1
1

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
5
1