Autore Topic: Errore -> NoClassDefFoundError  (Letto 704 volte)

Offline nicopasso

  • Nuovo arrivato
  • *
  • Post: 32
  • Respect: +1
    • Mostra profilo
  • Dispositivo Android:
    Google Nexus 5
  • Sistema operativo:
    Windows 7, Mac OS X 10.5
Errore -> NoClassDefFoundError
« il: 27 Febbraio 2013, 17:05:03 CET »
0
Ciao a tutti!
Come da titolo del topic ho il seguente errore...

Codice: [Seleziona]
02-27 17:02:02.210: E/AndroidRuntime(7239): FATAL EXCEPTION: main
02-27 17:02:02.210: E/AndroidRuntime(7239): java.lang.NoClassDefFoundError: it.nicopasso.wdm.MapScreen
02-27 17:02:02.210: E/AndroidRuntime(7239):         at it.nicopasso.wdm.FirstScreen$1.onItemClick(FirstScreen.java:112)
02-27 17:02:02.210: E/AndroidRuntime(7239):         at android.widget.AdapterView.performItemClick(AdapterView.java:284)
02-27 17:02:02.210: E/AndroidRuntime(7239):         at android.widget.ListView.performItemClick(ListView.java:3736)
02-27 17:02:02.210: E/AndroidRuntime(7239):         at android.widget.AbsListView$PerformClick.run(AbsListView.java:1968)
02-27 17:02:02.210: E/AndroidRuntime(7239):         at android.os.Handler.handleCallback(Handler.java:587)
02-27 17:02:02.210: E/AndroidRuntime(7239):         at android.os.Handler.dispatchMessage(Handler.java:92)
02-27 17:02:02.210: E/AndroidRuntime(7239):         at android.os.Looper.loop(Looper.java:130)
02-27 17:02:02.210: E/AndroidRuntime(7239):         at android.app.ActivityThread.main(ActivityThread.java:3687)
02-27 17:02:02.210: E/AndroidRuntime(7239):         at java.lang.reflect.Method.invokeNative(Native Method)
02-27 17:02:02.210: E/AndroidRuntime(7239):         at java.lang.reflect.Method.invoke(Method.java:507)
02-27 17:02:02.210: E/AndroidRuntime(7239):         at com.android.internal.os.ZygoteInit$MethodAndArgsCaller.run(ZygoteInit.java:867)
02-27 17:02:02.210: E/AndroidRuntime(7239):         at com.android.internal.os.ZygoteInit.main(ZygoteInit.java:625)
02-27 17:02:02.210: E/AndroidRuntime(7239):         at dalvik.system.NativeStart.main(Native Method)

Ho già provato ad usare i metodi suggeriti in rete ma per il momento ancora non sono riuscito a sistemare il problema.
Ecco cosa succede: quando uso un device con 4.1.2 l'applicazione viene eseguita perfettamente. Nessun problema, nessun errore.
Quando invece provo l'app su un device con 2.3.6 si verifica questo errore e l'app crasha.
In particolare l'activity che non si vuole aprire (MapScreen) è un'estensione di FragmentActivity, usata per mostrare le mappe di Google (API v2).
Potrebbe essere questo il problema?

Spero possiate riuscire ad aiutarmi!!!
  ;-)

Offline Nicola_D

  • Utente storico
  • *****
  • Post: 2479
  • SBAGLIATO!
  • Respect: +323
    • Github
    • Google+
    • nicoladorigatti
    • Mostra profilo
  • Dispositivo Android:
    Nexus 6p, Nexus 4, Nexus S, Nexus 7(2012)
  • Sistema operativo:
    Windows 7
Re:Errore -> NoClassDefFoundError
« Risposta #1 il: 27 Febbraio 2013, 17:21:20 CET »
0
mah, il problema può essere tipo che i fragment non sono supportati per android 2.3.6? che minSDK hai messo al tuo progetto? hai controllato gli errori LINT?
IMPORTANTE:NON RISPONDO A PROBLEMI VIA MESSAGGIO PRIVATO
LOGCAT: Non sai cos'è? -> Android Debug Bridge | Android Developers
               Dov'è in Eclipse? -> Window -> Open Prospective -> DDMS e guarda in basso!
[Obbligatorio] Logcat, questo sconosciuto! (Gruppo AndDev.it LOGTFO) - Android Developers Italia

Offline nicopasso

  • Nuovo arrivato
  • *
  • Post: 32
  • Respect: +1
    • Mostra profilo
  • Dispositivo Android:
    Google Nexus 5
  • Sistema operativo:
    Windows 7, Mac OS X 10.5
Re:Errore -> NoClassDefFoundError
« Risposta #2 il: 27 Febbraio 2013, 17:26:54 CET »
0
Sto usando i SupportFragment apposta per riuscire a gestire anche le versioni precedenti alla 3.0, come suggerisce il sito delle API di Google Maps.
Da Lint niente da segnalare purtroppo...
Ah il minSDK è 10
« Ultima modifica: 27 Febbraio 2013, 17:28:58 CET da nicopasso »

Offline Nicola_D

  • Utente storico
  • *****
  • Post: 2479
  • SBAGLIATO!
  • Respect: +323
    • Github
    • Google+
    • nicoladorigatti
    • Mostra profilo
  • Dispositivo Android:
    Nexus 6p, Nexus 4, Nexus S, Nexus 7(2012)
  • Sistema operativo:
    Windows 7
Re:Errore -> NoClassDefFoundError
« Risposta #3 il: 27 Febbraio 2013, 17:27:54 CET »
0
boh,comunque la classe non trovata è it.nicopasso.wdm.MapScreen
IMPORTANTE:NON RISPONDO A PROBLEMI VIA MESSAGGIO PRIVATO
LOGCAT: Non sai cos'è? -> Android Debug Bridge | Android Developers
               Dov'è in Eclipse? -> Window -> Open Prospective -> DDMS e guarda in basso!
[Obbligatorio] Logcat, questo sconosciuto! (Gruppo AndDev.it LOGTFO) - Android Developers Italia

Offline nicopasso

  • Nuovo arrivato
  • *
  • Post: 32
  • Respect: +1
    • Mostra profilo
  • Dispositivo Android:
    Google Nexus 5
  • Sistema operativo:
    Windows 7, Mac OS X 10.5
Re:Errore -> NoClassDefFoundError
« Risposta #4 il: 27 Febbraio 2013, 17:29:57 CET »
0
Però perchè "non trovata"...mi aspetto al massimo un errore sulla riga dove recupero il fragment da layout, piuttosto che un errore sulla creazione dell'Intent nella schermata precedente...

Offline bradipao

  • Moderatore globale
  • Utente storico
  • *****
  • Post: 4043
  • keep it simple
  • Respect: +567
    • Github
    • Google+
    • bradipao
    • Mostra profilo
  • Dispositivo Android:
    Nexus 5
  • Play Store ID:
    Bradipao
  • Sistema operativo:
    W7
Re:Errore -> NoClassDefFoundError
« Risposta #5 il: 27 Febbraio 2013, 18:29:57 CET »
0
Domanda probabilmente stupida: l'AVD 2.3.6 è quello con le Google Api vero?
NON rispondo a domande nei messaggi privati
Bradipao @ Play Store

Offline nicopasso

  • Nuovo arrivato
  • *
  • Post: 32
  • Respect: +1
    • Mostra profilo
  • Dispositivo Android:
    Google Nexus 5
  • Sistema operativo:
    Windows 7, Mac OS X 10.5
Re:Errore -> NoClassDefFoundError
« Risposta #6 il: 28 Febbraio 2013, 09:26:16 CET »
0
Si dovrebbe essere quello...dici che questo può influire sull'errore?

Post unito: 28 Febbraio 2013, 10:56:34 CET
Ok penso di aver trovato l'errore.
Il problema sta nella SearchView che non è supportata da versioni precedenti alla 3.0 (eccheccavolo)...
E nel dettaglio il crash penso sia dovuto all'implementazione di SearchView.OnQueryTextListener da parte della classe MapScreen.
Le mappe quindi non c'entrano (per fortuna)...

Ora la mia domanda è:
come gestisco la presenza o meno della SearchView?? Come faccio a dire all'activity di implementare il protocollo solo con versioni superiori a 3.0 ed eventualmente nascondere/mostrare la SearchView in base alla versione dell'SO?
« Ultima modifica: 28 Febbraio 2013, 10:56:34 CET da nicopasso, Reason: Merged DoublePost »