Autore Topic: Arresti anomali - ClassNotFoundException  (Letto 474 volte)

Offline ilprofugo

  • Nuovo arrivato
  • *
  • Post: 42
  • Respect: +2
    • Mostra profilo
  • Dispositivo Android:
    Galaxy Next
  • Play Store ID:
    Fabrizio Consalvi
Arresti anomali - ClassNotFoundException
« il: 25 Marzo 2014, 16:45:02 CET »
0
Buongiorno a tutti, ieri ho pubblicato un aggiornamento di una mia applicazione, praticamente non ho effettuato alcun cambiamento al codice, tranne che cambiare pc ed eclipse dove ho importato il vecchio progetto.

Oggi nella Console degli sviluppatori ho trovato 5 messaggi di segnalazione di errore, tutti uguali provenienti da Nexus 4 (mako) e da Galaxy Ace2 (GT-I8160) con un ClassNotFoundException.

La prima cosa che sono andato a controllare è stato l'AndroidManifest.xml e la classe SoundActivity è dichiarata normalmente come sempre.
Codice (XML): [Seleziona]
 <activity
           android:name="com.fabrizio.consalvi.CitazioniDiFilmInChat.SoundActivity"
           android:label="@string/app_name" >
            <intent-filter>
                <action android:name="android.intent.action.MAIN" />

                <category android:name="android.intent.category.LAUNCHER" />
            </intent-filter>
        </activity>

Ho provato anche a lanciare l'emulatore del Nexus4 creato nell'Android Virtual Device Manager e l'app viene lanciata normalmente, quale potrebbe essere il problema?

Questo il codice che mi è stato segnalato nella Console degli sviluppatori:

Codice (Java): [Seleziona]
java.lang.RuntimeException: Unable to instantiate activity ComponentInfo{com.fabrizio.consalvi.CitazioniDiFilmInChat/com.fabrizio.consalvi.CitazioniDiFilmInChat.SoundActivity}: java.lang.ClassNotFoundException: com.fabrizio.consalvi.CitazioniDiFilmInChat.SoundActivity
at android.app.ActivityThread.performLaunchActivity(ActivityThread.java:2016)
at android.app.ActivityThread.handleLaunchActivity(ActivityThread.java:2117)
at android.app.ActivityThread.access$700(ActivityThread.java:134)
at android.app.ActivityThread$H.handleMessage(ActivityThread.java:1218)
at android.os.Handler.dispatchMessage(Handler.java:99)
at android.os.Looper.loop(Looper.java:137)
at android.app.ActivityThread.main(ActivityThread.java:4867)
at java.lang.reflect.Method.invokeNative(Native Method)
at java.lang.reflect.Method.invoke(Method.java:511)
at com.android.internal.os.ZygoteInit$MethodAndArgsCaller.run(ZygoteInit.java:1007)
at com.android.internal.os.ZygoteInit.main(ZygoteInit.java:774)
at dalvik.system.NativeStart.main(Native Method)
Caused by: java.lang.ClassNotFoundException: com.fabrizio.consalvi.CitazioniDiFilmInChat.SoundActivity
at dalvik.system.BaseDexClassLoader.findClass(BaseDexClassLoader.java:61)
at java.lang.ClassLoader.loadClass(ClassLoader.java:501)
at java.lang.ClassLoader.loadClass(ClassLoader.java:461)
at android.app.Instrumentation.newActivity(Instrumentation.java:1068)
at android.app.ActivityThread.performLaunchActivity(ActivityThread.java:2007)
... 11 more

Offline LinkOut

  • Utente normale
  • ***
  • Post: 270
  • Respect: +38
    • Mostra profilo
  • Dispositivo Android:
    Xiaomi Mi5
Re:Arresti anomali - ClassNotFoundException
« Risposta #1 il: 25 Marzo 2014, 16:52:44 CET »
0
Sicuramente il problema è nel manifest...

La prima cosa che farei è : Project → Clean da Eclipse...

Questo dovrebbe risolvere il problema... per il resto non c'è null'altro di sbagliato.

Offline ilprofugo

  • Nuovo arrivato
  • *
  • Post: 42
  • Respect: +2
    • Mostra profilo
  • Dispositivo Android:
    Galaxy Next
  • Play Store ID:
    Fabrizio Consalvi
Re:Arresti anomali - ClassNotFoundException
« Risposta #2 il: 25 Marzo 2014, 16:55:59 CET »
0
Grazie LinkOut,
ma se a me l'app parte, anche sul telefono "vero" e parte anche sull'emulatore del Nexus 4 come faccio a capire, dopo aver fatto Project → Clean da Eclipse... se ho risolto il problema o dopo l'upload di una nuova versione mi si ripresenta lo stesso errore?

Offline LinkOut

  • Utente normale
  • ***
  • Post: 270
  • Respect: +38
    • Mostra profilo
  • Dispositivo Android:
    Xiaomi Mi5
Re:Arresti anomali - ClassNotFoundException
« Risposta #3 il: 25 Marzo 2014, 17:07:25 CET »
0
Se avendo fatto il "Clean" del progetto il problema non si ripresenta più, facendo il deploy sul Device oppure sull'emulatore... Allora il problema non c'è più e aggiornando l'applicazione presente sullo store il problema non dovrebbe più esserci... Almeno il java.lang.ClassNotFoundException...
Perchè questo problema è dovuto alla mancanta dichiarazione di una classe (Activity) nell'Android Manifest...


Saluti :)

EDIT:
Puoi anche provare al posto di dichiarare android:name="com.fabrizio.consalvi.CitazioniDiFilmInChat.SoundActivity"

in android:name=".SoundActivity"  Che implicitamente il "." pretende il package completo che tu giustamente hai scritto :)

Ti consiglio di usare Android Studio come IDE ... Trovo che i problemi si risolvano in modo più veloce.

Post unito: 25 Marzo 2014, 17:24:26 CET
Ho appena scaricato l'applicazione dallo store... nessun problema
Aperto su Nexus 5
« Ultima modifica: 25 Marzo 2014, 17:24:26 CET da LinkOut, Reason: Merged DoublePost »

Offline ilprofugo

  • Nuovo arrivato
  • *
  • Post: 42
  • Respect: +2
    • Mostra profilo
  • Dispositivo Android:
    Galaxy Next
  • Play Store ID:
    Fabrizio Consalvi
Re:Arresti anomali - ClassNotFoundException
« Risposta #4 il: 25 Marzo 2014, 21:45:10 CET »
0
Ciao, grazie per aver scaricato l'app! Ho provato a seguire il tuo consiglio, vedrò domani cosa succede!
Android studio lo dovrei provare, se domani ho un po di tempo me lo installo.
Grazie ancora

Inviato dal mio GT-S5570 con Tapatalk 2



Post unito: 26 Marzo 2014, 11:14:39 CET
Ho fatto il clean su eclipse, non ho modificato nessuna parte del codice, ho aggiornato l'apk sul Play Store e adesso anche chi prima non riusciva più ad istallarla gli funziona perfettamente.
Ancora non mi spiego che cosa sia successo e come mai il clean ha risolto il problema!
Comunque grazie ancora!
Fabrizio
« Ultima modifica: 26 Marzo 2014, 11:14:39 CET da ilprofugo, Reason: Merged DoublePost »