[Android] RuntimeException: impossibile creare un'istanza dell'applicazione


Answers

Questo è un messaggio di errore dettagliato sollevato dal framework sottostante quando dalvik reinstallare il file .apk e tentare di riutilizzare o riciclare la precedente attività / vista precedente dallo stesso pacchetto (se non è stata ancora chiusa l'app installata precedente). Non ha nulla a che fare con la tua app, inoltre, è molto improbabile che la tua app venga bloccata o bloccata da questo verboso messaggio di errore sul dispositivo dell'utente finale.

Sembra che questo log degli errori verboso di Dalvik abbia funzionato solo sul sistema Android 4.0, l'ho testato io stesso su ambiente Android 3.2 e 2.3.3, in cui non è possibile replicare per visualizzare questo messaggio su nessuno dei due. Una domanda simile è stata discussa in precedenza here e qualcuno ha compilato una segnalazione di bug in Android Issues Tracker .

Non penso che dovresti preoccuparti troppo di questo verboso log degli errori al momento, se guardi più log prima e dopo questo errore rosso in Logcat, puoi vedere la storia completa e scoprire che la precedente attività / vista aperta (che vengono contrassegnati come morti) vengono uccisi e il neoinstallato viene visualizzato alla fine.

Question

Quando eseguo la mia applicazione, ogni volta che ottengo la seguente eccezione nel mio 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

Nota: quando disinstalla l'app dall'emulatore e la eseguo, non ottengo questa eccezione, ma quando rieseguo l'applicazione installata in emulatore, sto ricevendo questo. Per favore aiuto.




Mi rendo conto che è una domanda molto vecchia, ma potrebbe comunque essere utile. Ho scoperto che quando osservo questo errore nel mio sviluppo, è dovuto all'istanza in esecuzione della mia app che non si chiude in modo ordinato, ad esempio chiudendo i thread in background prima dell'uscita.




L'ho sperimentato quando ho importato il mio progetto che è stato creato da una macchina diversa. Basta invalida le cache e riavvia

File> Invalidate Caches / Restart> Invalidate e restart




Ho avuto lo stesso errore quando ho provato a connettermi a Internet con JSOUP all'interno della mia classe di applicazione. Era complicato, perché l'applicazione girava su emulatore ma non sul dispositivo reale. Si è scoperto che ho appena usato la libreria JSOUP errata. Il caricamento della pagina in una nuova discussione ha risolto il mio problema.

Spero di aver aiutato qualcuno.




Ho cambiato l'applicationId in qualcosa di diverso su (Module: app) build.gradle file, esegui di nuovo l'app sul mio dispositivo. Quindi, annullo la modifica ed eseguo di nuovo l'app e tutto funziona. Funziona su Android Studio 2.3.1 e 4 diversi dispositivi che ho qui, da 5.0 a 7.0.




Ho avuto lo stesso problema. Disinstallando la mia app e reinstallandola, il problema è stato risolto.




Nel mio caso questo errore appare dopo aver importato il progetto Android Maven in un nuovo spazio di lavoro e la cartella SRC non è stata aggiunta automaticamente al percorso di creazione.

Fai clic con il tasto destro del mouse sul progetto / Percorso di costruzione / Configura percorso di creazione / Sorgente - controlla se mancano fonti.




Ho avuto lo stesso problema. La pulizia del progetto ha funzionato per me.

Seleziona il progetto vai su Progetto -> Pulisci




Spero che questo aiuti qualcuno. Vai alle app in esecuzione sul tuo emulatore facendo clic su questo:

Chiudi l'app che stai tentando di installare e poi eseguila di nuovo. NON è necessario disinstallare / reinstallare l'app o pulire il progetto.




Per me ha aiutato a pulire il Progetto. In Eclipse:
- Progetto -> Pulisci
Controlla che Project -> Build Automatically sia CONTROLLATO
Se la gen-Folder è vuota dopo, c'è un errore nella cartella di ricerca. Spesso gli errori nella cartella di ricerca non vengono mostrati dalla croce rossa! Buona fortuna e saluti




Ho incontrato questa domanda. Quando usi gradle clean , gradle installDebug funziona 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



Nel mio caso logcat mostrami che non è stata trovata l'attività iniziale, ma Dex Path era diverso, era "... / data / app / myapp-1" invece di "... / data / app / myapp" . Ho aggiunto questo fare clic sul nome del progetto elcipse "myapp" nella finestra Package explorer. Quindi fai clic destro su di esso, -> refactor-> rinomina ... Ho impostato il nome del progetto su myapp-1, quindi, -> refactor-> rinomina ... e di nuovo su "myapp". Poi ha funzionato ... qualche kinf di bug in eclissi?