Impossible d'instancier l'application com.android.tools.fd.runtime.BootstrapApplication? Android


140

J'ai mis à jour mon Android Studio vers la version 2.0. Mais j'ai eu un problème, je ne sais pas pourquoi?

Les informations d'erreur importantes:

Impossible d'instancier l'application com.android.tools.fd.runtime.BootstrapApplication: java.lang.IllegalStateException: java.lang.ClassNotFoundException: com.eallcn.rentagent.MyDebugEallApplication

J'ai cherché longtemps, mais je n'ai pas trouvé la bonne réponse, vous pouvez voir le lien

En même temps, lorsque je clique sur Fichier-> Structure du projet, cette erreur s'affiche:

entrez la description de l'image ici

Y a-t-il un problème quelque part dans les bibliothèques? Lorsque gradle a construit le programme, les bibliothèques ne se sont pas complètement chargées pour le programme actuel. Y a-t-il un problème avec Android Studio version 2.0?

Lorsque j'utilise Android Studio 1.4.0 pour créer et exécuter le programme. Ça fonctionne bien pour moi! Mais lorsque j'utilise Android Studio 2.0, le problème apparaît!

Pourquoi? Pourrais-tu m'aider s'il te plait?

Voici le journal des erreurs détaillé:

11-28 11: 57: 00.489 19890-19890 / com.eallcn.rentagent.debug E / AndroidRuntime: FATAL EXCEPTION: processus principal: com.eallcn.rentagent.debug, PID: 19890 java.lang.RuntimeException: Impossible d'instancier l'application com.android.tools.fd. .ActivityThread.handleBindApplication (ActivityThread.java:4586) à android.app.ActivityThread.access $ 1800 (ActivityThread.java:139)
à android.app.ActivityThread $ H.handleMessage (ActivityThread.java:1316)
à android.os.Handler.dispatchMessage (Handler.java:102)
à android.os.Looper.loop (Looper.java:136)
à android.app.ActivityThread.main (ActivityThread.java:5314)
à java.lang. Reflect.Method.invokeNative (Méthode native)
sur java.lang.reflect.Method.invoke (Method.java:515)
sur com.android.internal.os.ZygoteInit $ MethodAndArgsCaller.run (ZygoteInit.java:864) sur com. android.internal.os.ZygoteInit.main (ZygoteInit.java:680)
at dalvik.system.NativeStart.main (méthode native)
Causé par: java.lang.IllegalStateException: java.lang.ClassNotFoundException: com.eallcn.rentagent.MyDebugEall
à com.android.tools.fd.runtime.BootstrapApplication.createRealApplication (BootstrapApplication.java:167) à com.android.tools.fd.runtime.BootstrapApplication.attachBaseContext (BootstrapApplication.java:179) à android.app.Application.attach (Application.java:194)
sur android.app.Instrumentation.newApplication (Instrumentation.java:992)
sur android.app.Instrumentation.newApplication (Instrumentation.java:976)
sur android.app.LoadedApk.makeApplication (LoadedApk.java: 532)
à android.app.ActivityThread.handleBindApplication (ActivityThread.java:4586) à android.app.ActivityThread.access $ 1800 (ActivityThread.java:139) à android.app.ActivityThread $ H.handleMessage (ActivityThread.java:1316) à android .os.Handler.dispatchMessage (Handler.java:102) à android.os.Looper.loop (Looper.java:136) à android.app.ActivityThread.main (ActivityThread.java:5314) à java.lang.reflect.Method.invokeNative (Méthode native) à java.lang.reflect.Method.invoke (Method.java:515) à com.android.internal.os. ZygoteInit $ MethodAndArgsCaller.run (ZygoteInit.java:864) à com.android.internal.os.ZygoteInit.main (ZygoteInit.java:680) à dalvik.system.NativeStart.main (Méthode native) Causé par: java.lang.ClassNotFoundException: com.eallcn.rentagent.MyDebugEallApplication sur java.lang.Class.classForName (Méthode native) sur java.lang.Class.forName (Class.java:251) sur java .lang.Class.forName (Class.java:216) dans com.android.tools.fd.runtime.BootstrapApplication.createRealApplication (BootstrapApplication.java:155) sur com.android.tools.fd.runtime.BootstrapApplication.attachBaseContext (BootstrapApplication.java:179) sur android.app.Application.attach (Application.java:194) sur android.app.Instrumentation.newApplication (Instrumentation.java : 992) sur android.app.Instrumentation.newApplication (Instrumentation.java:976) sur android.app.LoadedApk.makeApplication (LoadedApk.java:532) à android.app.ActivityThread.handleBindApplication (ActivityThread.java:4586) à android.app.ActivityThread.access $ 1800 (ActivityThread.java:139) à android.app.ActivityThread $ H.handleMessage ( ActivityThread.java:1316) sur android.os.Handler.dispatchMessage (Handler.java:102) sur android.os.Looper.loop (Looper.java:136) sur android.app.ActivityThread.main (ActivityThread.java:5314) sur java.lang.reflect.Method.invokeNative (méthode native) sur java.lang.reflect.Method.invoke (Method. java: 515) sur com.android.internal.os.ZygoteInit $ MethodAndArgsCaller.run (ZygoteInit.java:864) sur com.android.internal.os.ZygoteInit.main (ZygoteInit.java:680) sur dalvik.system.NativeStart.main (méthode native) Causé par: java.lang.NoClassDefFoundError: com / eallcn / rentagent / MyDebugEallApplication sur java.lang.Class.classForName (méthode native) sur java.lang.Class.forName (Class.java:251) à java.lang.Class.forName (Class.java:216) sur com.android.tools.fd.runtime.BootstrapApplication.createRealApplication (BootstrapApplication.java:155) sur com.android.tools.fd.runtime.BootstrapApplication.attachBaseContext (BootstrapApplication.java:179) sur android.app.Application .attach (Application.java:194) sur android.app.Instrumentation.newApplication (Instrumentation.java:992) sur android.app.Instrumentation.newApplication (Instrumentation.java:976) sur android.app.LoadedApk.makeApplication (LoadedApk.java:532) sur android.app.ActivityThread.handleBindApplication (ActivityThread.java:4586) sur android. app.ActivityThread.access $ 1800 (ActivityThread.java:139) à android.app.ActivityThread $ H.handleMessage (ActivityThread.java:1316) à android.os.Handler.dispatchMessage (Handler.java:102) à android.os.Looper.loop (Looper.java:136) à android.app.ActivityThread.main (ActivityThread.java) : 5314) sur java.lang.reflect.Method.invokeNative (méthode native) sur java.lang.reflect.Method.invoke (Method.java:515) sur com.android.internal.os.ZygoteInit $ MethodAndArgsCaller.run (ZygoteInit.java:864) sur com.android.internal.os.ZygoteInit.main (ZygoteInit.java:680) sur dalvik.system.NativeStart.main (Méthode native) Provoqué par: java.lang.ClassNotFoundException: la classe "com.eallcn.rentagent.MyDebugEallApplication" n'a pas été trouvée sur le chemin: DexPathList [[fichier zip "/data/app/com.eallcn.rentagent.debug-1 .apk "],nativeLibraryDirectories = [/ data / app-lib / com.eallcn.rentagent.debug-1, / vendor / lib, / system / lib, / data / datalib]] à dalvik.system.BaseDexClassLoader.findClass (BaseDexClassLoader.java:56 ) à java.lang.ClassLoader.loadClass (ClassLoader.java:497) à java.lang.ClassLoader.loadClass (ClassLoader.java:457) à java.lang.Class.classForName (Méthode native) à java.lang.Class.forName (Class.java:251) à java.lang.Class.forName (Class.java:216) à com.android.tools.fd.runtime.BootstrapApplication.createRealApplication ( BootstrapApplication.java:155) sur com.android.tools.fd.runtime.BootstrapApplication.attachBaseContext (BootstrapApplication.java:179) sur android.app.Application.attach (Application.java:194) à android.app.Instrumentation.newApplication (Instrumentation.java:992) à android.app.Instrumentation.newApplication (Instrumentation.java:976) à android.app.LoadedApk.makeApplication (LoadedApk .java: 532) sur android.app.ActivityThread.handleBindApplication (ActivityThread.java:4586) sur android.app.ActivityThread.access $ 1800 (ActivityThread.java:139) à android.app.ActivityThread $ H.handleMessage (ActivityThread.java:1316) à android.os.Handler.dispatchMessage (Handler.java:102) à android.os.Looper. loop (Looper.java:136) sur android.app.ActivityThread.main (ActivityThread.java:5314) sur java.lang.reflect.Method.invokeNative (Native Method) sur java.lang.reflect.Method.invoke (Method.java:515) sur com.android.internal.os.ZygoteInit $ MethodAndArgsCaller.run (ZygoteInit.java:864) sur com.android.internal. os.ZygoteInit.main (ZygoteInit.java:680) at dalvik.system.NativeStart.main (méthode native)515) sur com.android.internal.os.ZygoteInit $ MethodAndArgsCaller.run (ZygoteInit.java:864) sur com.android.internal.os.ZygoteInit.main (ZygoteInit.java:680) sur dalvik.system.NativeStart.main (Méthode native)515) sur com.android.internal.os.ZygoteInit $ MethodAndArgsCaller.run (ZygoteInit.java:864) sur com.android.internal.os.ZygoteInit.main (ZygoteInit.java:680) sur dalvik.system.NativeStart.main (Méthode native)680) sur dalvik.system.NativeStart.main (méthode native)680) sur dalvik.system.NativeStart.main (méthode native)

 


Je pense que cette question est la suivante: il s'agit simplement d'Android Studio 2.0 et la version Gradle n'est pas compatible!
GeekHades

cette réponse résoudra votre problème
Amit Vaghela

Réponses:


313

Désactivez l'option d'exécution instantanée dans Android Studio. Les instructions se trouvent dans la documentation Android Studio Instant Run .

Instant Run essaie de faire un échange à chaud de votre code; cela entraîne le déplacement de la classe d'application.

Pour désactiver Instant Run, allez dans File -> Settings -> Build, Execution, Deployment -> Instant Run ---> décochez "Enable instant run"


10
Cela m'est arrivé sur un appareil Marshmallow
Jon

37
Suis-je le seul à penser que désactiver cette fonctionnalité majeure de votre IDE n'est PAS une bonne solution? C'est comme dire utiliser Studio 1.4 . Voté contre.
natario

17
@mvai: Ce n'est pas une solution idéale, mais c'est peut-être la meilleure solution disponible. Si le problème est causé par Instant Run, il est extrêmement utile de le savoir et de pouvoir le désactiver parfois. Voter contre cette réponse, c'est comme tirer sur le messager qui vous a dit de ne pas prendre le chemin le plus court pour rentrer chez vous parce qu'une embuscade vous attendait ..
LarsH

3
@mvai: OK, ces choses pourraient sans doute être faites pour améliorer la réponse (bien que 4 des 5 semblent évidentes). Mais le vote négatif n'est pas pour "cette réponse pourrait être encore meilleure" mais pour "cette réponse n'est pas utile". Alors que cette réponse est très utile. N'hésitez pas à ajouter les détails qui, selon vous, amélioreraient la réponse; soit ici, soit sur votre propre réponse.
LarsH

2
C'est une réponse triste, mais comme Instant Run est tellement cassé, c'est la seule solution correcte.
clu

22

J'ai eu la même erreur après avoir essayé d'utiliser le 2.0.

Je l'ai résolu en annulant certains changements de gradle:

1/3:

En changeant:

classpath 'com.android.tools.build:gradle:2.0.0-alpha1'

Par:

classpath 'com.android.tools.build:gradle:1.2.3'

2/3:

En changeant:

buildToolsVersion '23.0.2'

Par:

buildToolsVersion "21.1.2"

3/3: ( pouces<project folder>/.idea/gradle.xml )

Et:

<option name="gradleHome" value="$APPLICATION_HOME_DIR$/gradle/gradle-2.8" />

Par:

<option name="gradleHome" value="$APPLICATION_HOME_DIR$/gradle/gradle-2.4" />

Je ne sais pas quelle ligne est exactement l'origine de l'erreur, mais avec ces trois changements, elle a été résolue.

J'espère que cela vous aide :)


La troisième étape: <option name = "gradleHome" value = "$ APPLICATION_HOME_DIR $ / gradle / gradle-2.4" /> où puis-je trouver, je veux changer. Je peux trouver le code!
GeekHades

Salut, voir la réponse modifiée. ( <project folder>/.idea/gradle.xml)
emmgfx

Les 2 premières étapes semblaient résoudre le problème pour moi.
Marc

C'est quoi option name="gradleHome"? Où est-ce situé.
IgorGanapolsky

1
Si vous avez dans votre application build gradle: aaptOptions.setProperty ("cruncherEnabled", false), il est préférable de le supprimer. Et encore une chose, n'utilisez pas l'exécution instantanée tant qu'elle n'est pas complètement stable, ce qui pose beaucoup de problèmes
Stoycho Andreev

17

J'ai eu la même erreur.

Je l'ai résolu en nettoyant le projet (Build> Clean Project)


3
réponse sous-estimée!
Anup

Cela semble être la bonne réponse pour moi. J'obtenais le problème sans utiliser le studio Android, alors j'ai juste exécuté un assembleDebug propre et gradle qui fait la même chose.
Shawn


5

J'ai pu me débarrasser de cette erreur en mettant à jour gradle-wrapper.properties gradle-2.14.1-allet en nettoyant / reconstruisant le projet. Ensuite, tout s'est bien passé. Aucun autre changement n'était nécessaire (comme ceux suggérés dans la réponse ci-dessus) ...


1
Utilisez-vous com.android.tools.build:gradle:2.0.0-alpha1? L'erreur existe toujours pour moi après l'avoir mise à niveau vers com.android.tools.build:gradle:2.0.0-alpha6+https\://services.gradle.org/distributions/gradle-2.10-all.zip
Liuting

1
Oui, j'ai mis à niveau vers Android Studio Preview 5, cela dit que je dois mettre à niveau la version gradle pour une exécution instantanée. Il semble qu'ils font des versions alpha assez fréquentes pour
corriger des

1
Si vous travaillez sur le projet du client / votre propre produit, les versions «alpha» ou «bêta» ne sont pas suggérées à utiliser; essayez plutôt d'utiliser une ou deux versions vers le bas ... Parce qu'elles ne sont pas stables. Et si vous testez la version instable pour la correction de bogues et des améliorations, même le studio Android de Cannery Channel peut vous aider davantage dans le processus ...
Bhuro

4

Changer en

classpath 'com.android.tools.build:gradle:2.0.0-alpha6'

problème résolu


3

J'ai également eu cette erreur avec Android 2.0 dans le canal stable.

Ce que j'ai fait?
- J'avais une ancienne version de l'application déjà installée sur l'appareil (qui a été construite à l'aide d'une ancienne version du Studio) que j'essayais de remplacer en exécutant la nouvelle application sur l'appareil.
Je viens de désinstaller complètement l'ancienne version avant d'exécuter la nouvelle application et l'astuce a fonctionné.


2

Juste pour ceux qui veulent mettre à jour classPath avec la dernière version du plugin Gradle, où trouver la dernière version du plugin?

Enregistrez-vous sur http://tools.android.com/tech-docs/new-build-system et mettez à jour votre classPath. Le dernier en date est

 classpath 'com.android.tools.build:gradle:2.0.0'.

Essayez toujours de construire avec la dernière version du plugin.


2

Si vous ne souhaitez pas désactiver Instant Run, nettoyez et relancez simplement le projet.


2

Changer classpath 'com.android.tools.build:gradle:2.1.2'pour classpath 'com.android.tools.build:gradle:2.1.0'résoudre mon problème.


2

J'ai également rencontré le même problème et je l'ai résolu. Dans mon cas, c'était dû à une erreur dans la classe globale (classe de contexte de toute l'application), mon erreur était en ce que AndroidManifest.xmlj'ai déclaré la classe d'application VolleyHelpercomme: -

 <application
        android:allowBackup="true"
        android:icon="@mipmap/ic_launcher"
        android:label="@string/app_name"
        android:supportsRtl="true" android:name=".VolleyHelper"
        android:theme="@style/AppTheme"> 

mais VolleyHelper.javaje n'ai pas de constructeur par défaut. J'ai donc ajouté un constructeur par défaut dans VolleyHelper.java(Application Class).


1

vous pouvez également l'ajouter dans votre note pour éviter de faire dex lors du débogage

debug {
    // dev utilizes minSDKVersion = 21 to allow the Android gradle plugin
    // to pre-dex each module and produce an APK that can be tested on
    // Android Lollipop without time consuming dex merging processes.
    minSdkVersion 21
}

1

Sur certains appareils Android avec des versions antérieures à OS 5.0, nous obtenons le message d'erreur:

Causé par: java.lang.ClassNotFoundException: classe "com.android.tools.fd.runtime.BootstrapApplication" introuvable

Nous devons désactiver "Instant Run".

Aller à File> Settings> Built, Execution, Deployment>Instant Run

Puis désactivez l'option Enable Instant Run to hot swap code.

entrez la description de l'image ici


1

J'avais juste besoin de redémarrer mon appareil. J'ai tout essayé en premier, malheureusement, donc des heures perdues.


1

Si vous partagez votre application une autre solution est

aller à Android Studio --> Build --> Build APK

Un pop-up viendra avec APK generated successfully. Show in Explorervous amènera au dossier apk généré.


1

Pas besoin de désactiver "instant run".
1. aller à la racine du projet à l'aide de l'Explorateur de fichiers
2. Terminer Android Studio (AS)
3. supprimer (déplacer quelque part) le contenu du dossier ".gradle"
(pour nettoyer quelques espèces et anciens artefacts)
4. dans le dossier res nettoyer tout ce qui est inapproprié files
5. relancez l'AS
6. dans le module build.gradle, définissez "buildTypes {debug {minifyEnabled true" sur false
(cela ressemble à une erreur dans mon fichier proguard, kek)

Synchronisez, compilez et exécutez à nouveau l'application: /



-1

Je viens de mettre à jour Android Studio vers la dernière version (2.0 Beta 5). Il se transforme classpath 'com.android.tools.build:gradle:2.0.0-beta5'et fonctionne comme un charme.

En utilisant notre site, vous reconnaissez avoir lu et compris notre politique liée aux cookies et notre politique de confidentialité.
Licensed under cc by-sa 3.0 with attribution required.