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)

 

GeekHades
la source
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"

peeyush pathak
la source
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 :)

emmgfx
la source
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)

Calixto
la source
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
9

Allez simplement dans le menu Android Studio - Build -> Rebuild Project.

Narendra Singh
la source
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) ...

IgorGanapolsky
la source
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

ar-g
la source
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é.

Banguru
la source
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.

Mahendra Chhimwal
la source
2

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

fromage facile
la source
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.

Ahmed Mostafa
la source
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).

kumar kundan
la source
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
}
user3682694
la source
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

Jorgesys
la source
1

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

Anthony
la source
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é.

Mohammad Tauqir
la source
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: /

CodeToLife
la source
1

Cette erreur se produit lorsque vous ajoutez une activité vide avec un fichier .java. Donc, pour résoudre cette erreur, vous devez à nouveau créer le projet. Puis lancez-le. Résolu Merci.

Siddhant Senapati
la source
Activité noire?
Leo soutient Monica Cellio le
-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.

Monsieur Moustard
la source