[View]  [Edit]  [Lock]  [References]  [Attachments]  [History]  [Home]  [Changes]  [Search]  [Help] 

App execution issue when Instant Run option enabled

To workaround the following exception:

W/System.err( 8844): java.lang.RuntimeException: Unable to instantiate application 
com.android.tools.fd.runtime.BootstrapApplication: java.lang.ClassNotFoundException: 
Didn't find class "com.android.tools.fd.runtime.BootstrapApplication" on path: DexPathList

you can disable Instant Run Android Studio option, before generating debug APK files.
In Android Studio, go to File -> Settings -> Build, Execution, Deployment, disable Instant Run.

(if your Android Studio project version is below 2.0, Instant Run option is not present).

If you are insteresting on how to view this exception, you can read what follows.

When trying to execute an app that was installed from an APK file generated with Android Studio Instant Run option enabled, the following exception occurred (excerpt from Android device log):

W/System.err( 8844): java.lang.RuntimeException: Unable to instantiate application com.android.tools.fd.runtime.BootstrapApplication: 
java.lang.ClassNotFoundException: Didn't find class "com.android.tools.fd.runtime.BootstrapApplication" on path: 
DexPathList[[zip file "/data/app/net.smalltalking.s8.jx8-1.apk"],nativeLibraryDirectories=[/data/app-lib/net.smalltalking.s8.jx8-1, 
/vendor/lib, /system/lib]]
W/System.err( 8844):    at android.app.LoadedApk.makeApplication(LoadedApk.java:530)
W/System.err( 8844):    at android.app.ActivityThread.handleBindApplication(ActivityThread.java:4403)
I/Provider/Settings(  883): call-query of user -3 by 0 so not updating cache
W/System.err( 8844):    at android.app.ActivityThread.access$1500(ActivityThread.java:142)
W/System.err( 8844):    at android.app.ActivityThread$H.handleMessage(ActivityThread.java:1263)
W/System.err( 8844):    at android.os.Handler.dispatchMessage(Handler.java:102)
W/System.err( 8844):    at android.os.Looper.loop(Looper.java:136)
W/System.err( 8844):    at android.app.ActivityThread.main(ActivityThread.java:5118)
W/System.err( 8844):    at java.lang.reflect.Method.invokeNative(Native Method)
W/System.err( 8844):    at java.lang.reflect.Method.invoke(Method.java:515)
W/System.err( 8844):    at com.android.internal.os.ZygoteInit$MethodAndArgsCaller.run(ZygoteInit.java:789)
W/System.err( 8844):    at com.android.internal.os.ZygoteInit.main(ZygoteInit.java:605)
W/System.err( 8844):    at dalvik.system.NativeStart.main(Native Method)
W/System.err( 8844): Caused by: java.lang.ClassNotFoundException: Didn't find class "com.android.tools.fd.runtime.BootstrapApplication" on path: 
DexPathList[[zip file "/data/app/net.smalltalking.s8.jx8-1.apk"],nativeLibraryDirectories=[/data/app-lib/net.smalltalking.s8.jx8-1, 
/vendor/lib, /system/lib]]
W/System.err( 8844):    at dalvik.system.BaseDexClassLoader.findClass(BaseDexClassLoader.java:56)
W/System.err( 8844):    at java.lang.ClassLoader.loadClass(ClassLoader.java:497)
W/System.err( 8844):    at java.lang.ClassLoader.loadClass(ClassLoader.java:457)
W/System.err( 8844):    at android.app.Instrumentation.newApplication(Instrumentation.java:975)
W/System.err( 8844):    at android.app.LoadedApk.makeApplication(LoadedApk.java:525)
W/System.err( 8844):    ... 11 more

The above exception takes place at app execution time, after installing the app in the Android device.

To view that log using adb application -packaged in Android SDK, platform-tools (you can find Android SDK path in local.properties file at Android Studio project level):
  1. connect your device to the computer
  2. execute the following at command line: adb logcat
For instance:
C:\Users\Pc\AppData\Local\Android\sdk\platform-tools>adb logcat