Lorsque j'exécute mon application, à chaque fois que j'obtiens l'exception ci-dessous dans mon logcat:
04-14 09:29:53.965: W/dalvikvm(1020): threadid=1: thread exiting with uncaught exception (group=0x409c01f8)
04-14 09:29:53.985: E/AndroidRuntime(1020): FATAL EXCEPTION: main
04-14 09:29:53.985: E/AndroidRuntime(1020): Java.lang.RuntimeException: Unable to instantiate application Android.app.Application: Java.lang.NullPointerException
04-14 09:29:53.985: E/AndroidRuntime(1020): at Android.app.LoadedApk.makeApplication(LoadedApk.Java:482)
04-14 09:29:53.985: E/AndroidRuntime(1020): at Android.app.ActivityThread.handleBindApplication(ActivityThread.Java:3938)
04-14 09:29:53.985: E/AndroidRuntime(1020): at Android.app.ActivityThread.access$1300(ActivityThread.Java:123)
04-14 09:29:53.985: E/AndroidRuntime(1020): at Android.app.ActivityThread$H.handleMessage(ActivityThread.Java:1185)
04-14 09:29:53.985: E/AndroidRuntime(1020): at Android.os.Handler.dispatchMessage(Handler.Java:99)
04-14 09:29:53.985: E/AndroidRuntime(1020): at Android.os.Looper.loop(Looper.Java:137)
04-14 09:29:53.985: E/AndroidRuntime(1020): at Android.app.ActivityThread.main(ActivityThread.Java:4424)
04-14 09:29:53.985: E/AndroidRuntime(1020): at Java.lang.reflect.Method.invokeNative(Native Method)
04-14 09:29:53.985: E/AndroidRuntime(1020): at Java.lang.reflect.Method.invoke(Method.Java:511)
04-14 09:29:53.985: E/AndroidRuntime(1020): at com.Android.internal.os.ZygoteInit$MethodAndArgsCaller.run(ZygoteInit.Java:784)
04-14 09:29:53.985: E/AndroidRuntime(1020): at com.Android.internal.os.ZygoteInit.main(ZygoteInit.Java:551)
04-14 09:29:53.985: E/AndroidRuntime(1020): at dalvik.system.NativeStart.main(Native Method)
04-14 09:29:53.985: E/AndroidRuntime(1020): Caused by: Java.lang.NullPointerException
04-14 09:29:53.985: E/AndroidRuntime(1020): at Android.app.LoadedApk.initializeJavaContextClassLoader(LoadedApk.Java:362)
04-14 09:29:53.985: E/AndroidRuntime(1020): at Android.app.LoadedApk.getClassLoader(LoadedApk.Java:305)
04-14 09:29:53.985: E/AndroidRuntime(1020): at Android.app.LoadedApk.makeApplication(LoadedApk.Java:474)
04-14 09:29:53.985: E/AndroidRuntime(1020): ... 11 more
Remarque: lorsque je désinstalle et exécute l'application de l'émulateur, je ne reçois pas cette exception, mais lorsque je ré-exécute l'application installée dans l'émulateur, je l'obtiens. S'il vous plaît aider.
Ceci est un message d'erreur détaillé de la structure sous-jacente lorsque dalvik réinstalle le fichier .apk et tente de réutiliser ou de recycler l'activité/la vue ouverte précédente du même package (si vous n'avez pas encore fermé l'application précédemment installée). Cela n'a rien à voir avec votre application. En outre, il est très peu probable que votre application soit bloquée ou bloquée par ce message d'erreur détaillé sur le périphérique de l'utilisateur final.
Il semble que ce journal des erreurs dalvik verbose ne se produise que sur le système Android 4.0, je l’ai moi-même testé sur Android 3.2 et 2.3.3, où vous ne pouvez pas répliquer pour que ce message n'apparaisse sur aucun d'entre eux.Une question similaire a déjà été abordée à l'adresse ici et quelqu'un a rempli un rapport de bogue dans Android Issues Tracker .
Je ne pense pas que vous devriez vous préoccuper beaucoup de ce journal d’erreurs détaillé pour le moment. Si vous regardez plus de journaux avant et après cette erreur rouge dans Logcat, vous pouvez voir l’histoire complète et constater que la précédente activité/vue ouverte (qui sont marqués comme étant morts) se faire tuer et celui qui vient d'être réinstallé est finalement affiché.
Je me rends compte que c'est une très vieille question, mais cela peut être utile quand même. J'ai constaté que lorsque j'observe cette erreur dans mon propre développement, cela est dû au fait que l'instance précédemment exécutée de mon application ne se ferme pas correctement, par exemple en fermant les threads d'arrière-plan avant de quitter.
La même erreur s'est produite lorsque j'ai essayé de me connecter à Internet avec JSOUP dans ma classe d'applications. C'était délicat, car l'application fonctionnait sur un émulateur mais pas sur un périphérique réel. Il s’est avéré que j’avais mal utilisé la bibliothèque JSOUP. Chargement de la page dans le nouveau fil résolu mon problème.
J'espère que j'ai aidé quelqu'un.
Pour moi, cela a aidé à nettoyer le projet. Dans Eclipse:
- Projet -> Nettoyer
Veuillez contrôler que le projet -> Construire automatiquement est VÉRIFIÉ
Si le gen-Folder est vide après cela, il y a une erreur dans le dossier res. Souvent, les erreurs dans le dossier res ne sont pas signalées par la croix rouge! Bonne chance et salutations
J'ai changé l'applicationId en quelque chose de différent sur le fichier build.gradle (Module: app), puis réexécutez l'application sur mon appareil. Ensuite, j'annule le changement et lance l'application à nouveau et tout fonctionne. Cela fonctionne sur Android Studio 2.3.1 et 4 appareils différents que j'ai ici, de 5.0 à 7.0.
J'ai vécu cette expérience lorsque j'ai importé mon projet, construit à partir d'une machine différente. Il suffit d'invalider les caches et de redémarrer
Fichier> Invalider les caches/redémarrer> Invalider et redémarrer
Je rencontre cette question. Quand utiliser gradle clean
, gradle installDebug
ça marche ok!
AndroidRuntime D Shutting down VM
E FATAL EXCEPTION: main
E Process: tv.panda.live.broadcast, PID: 4685
E Java.lang.RuntimeException: Unable to instantiate application tv.panda.live.broadcast.PandaApplication: Java.lang.ClassNotFoundException: Didn't find class "tv.panda.live.broadcast.PandaApplication" o
n path: DexPathList[[Zip file "/data/app/tv.panda.live.broadcast-1/base.apk"],nativeLibraryDirectories=[/data/app/tv.panda.live.broadcast-1/lib/arm, /vendor/lib, /system/lib]]
E at Android.app.LoadedApk.makeApplication(LoadedApk.Java:572)
E at Android.app.ActivityThread.handleBindApplication(ActivityThread.Java:4883)
E at Android.app.ActivityThread.access$1500(ActivityThread.Java:178)
E at Android.app.ActivityThread$H.handleMessage(ActivityThread.Java:1573)
E at Android.os.Handler.dispatchMessage(Handler.Java:111)
E at Android.os.Looper.loop(Looper.Java:194)
E at Android.app.ActivityThread.main(ActivityThread.Java:5691)
E at Java.lang.reflect.Method.invoke(Native Method)
E at Java.lang.reflect.Method.invoke(Method.Java:372)
E at com.Android.internal.os.ZygoteInit$MethodAndArgsCaller.run(ZygoteInit.Java:959)
E at com.Android.internal.os.ZygoteInit.main(ZygoteInit.Java:754)
E Caused by: Java.lang.ClassNotFoundException: Didn't find class "tv.panda.live.broadcast.PandaApplication" on path: DexPathList[[Zip file "/data/app/tv.panda.live.broadcast-1/base.apk"],nativeLibraryDi
rectories=[/data/app/tv.panda.live.broadcast-1/lib/arm, /vendor/lib, /system/lib]]
E at dalvik.system.BaseDexClassLoader.findClass(BaseDexClassLoader.Java:56)
E at Java.lang.ClassLoader.loadClass(ClassLoader.Java:511)
E at Java.lang.ClassLoader.loadClass(ClassLoader.Java:469)
E at Android.app.Instrumentation.newApplication(Instrumentation.Java:988)
E at Android.app.LoadedApk.makeApplication(LoadedApk.Java:567)
E ... 10 more
E Suppressed: Java.lang.ClassNotFoundException: tv.panda.live.broadcast.PandaApplication
E at Java.lang.Class.classForName(Native Method)
E at Java.lang.BootClassLoader.findClass(ClassLoader.Java:781)
E at Java.lang.BootClassLoader.loadClass(ClassLoader.Java:841)
E at Java.lang.ClassLoader.loadClass(ClassLoader.Java:504)
E ... 13 more
E Caused by: Java.lang.NoClassDefFoundError: Class not found using the boot class loader; no stack available
Dans mon cas, logcat montre que l'activité initiale n'a pas été trouvée, mais le chemin Dex était différent, il s'agissait de ".../data/app/myapp-1" au lieu de ".../data/app/myapp" . J'ai choisi cette option en cliquant sur le nom de projet elcipse "myapp" dans la fenêtre de l'Explorateur de packages. Ensuite, faites un clic droit dessus, -> refactor> renommer ... Je donne le nom du projet à myapp-1, puis -> refactor-> renommer ... et revenez à "myapp". Ensuite, ça a fonctionné ... un genre de bug dans Eclipse?
Dans mon cas, cette erreur apparaît après que j'ai importé Android Projet Maven dans un nouvel espace de travail et le dossier SRC n'a pas été ajouté automatiquement au chemin de génération.
Faites un clic droit sur le projet/Chemin de construction/Configurer le chemin de construction/Source - vérifiez s'il y a des sources manquantes.
J'ai le même problème. La désinstallation de mon application, puis sa réinstallation ont résolu le problème.
J'ai le même problème. Nettoyer le projet a fonctionné pour moi.
Sélectionnez le projet allez dans Projet -> Nettoyer