Autore Topic: java.lang.NoClassDefFoundError, ma la classe c'è  (Letto 1741 volte)

Offline Alhazred

  • Nuovo arrivato
  • *
  • Post: 49
  • Respect: 0
    • Mostra profilo
  • Dispositivo Android:
    Motorola Atrix 4G
  • Sistema operativo:
    Windows 7 Ultimate 64bit
java.lang.NoClassDefFoundError, ma la classe c'è
« il: 09 Marzo 2012, 17:27:59 CET »
0
Sto provando ad inserire un layout in cui mostrare una mappa.
Ecco cosa dice il LogCat
Codice: [Seleziona]
03-09 17:14:05.542: E/AndroidRuntime(8756): FATAL EXCEPTION: main
03-09 17:14:05.542: E/AndroidRuntime(8756): java.lang.NoClassDefFoundError: com.lcapps.mymapapp.ShowMapActivity
03-09 17:14:05.542: E/AndroidRuntime(8756):         at com.lcapps.mymapapp.MainScreenActivity$3.onClick(MainScreenActivity.java:63)
03-09 17:14:05.542: E/AndroidRuntime(8756):         at android.view.View.performClick(View.java:2496)
03-09 17:14:05.542: E/AndroidRuntime(8756):         at android.view.View$PerformClick.run(View.java:9126)
03-09 17:14:05.542: E/AndroidRuntime(8756):         at android.os.Handler.handleCallback(Handler.java:587)
03-09 17:14:05.542: E/AndroidRuntime(8756):         at android.os.Handler.dispatchMessage(Handler.java:92)
03-09 17:14:05.542: E/AndroidRuntime(8756):         at android.os.Looper.loop(Looper.java:130)
03-09 17:14:05.542: E/AndroidRuntime(8756):         at android.app.ActivityThread.main(ActivityThread.java:3844)
03-09 17:14:05.542: E/AndroidRuntime(8756):         at java.lang.reflect.Method.invokeNative(Native Method)
03-09 17:14:05.542: E/AndroidRuntime(8756):         at java.lang.reflect.Method.invoke(Method.java:507)
03-09 17:14:05.542: E/AndroidRuntime(8756):         at com.android.internal.os.ZygoteInit$MethodAndArgsCaller.run(ZygoteInit.java:839)
03-09 17:14:05.542: E/AndroidRuntime(8756):         at com.android.internal.os.ZygoteInit.main(ZygoteInit.java:597)
03-09 17:14:05.542: E/AndroidRuntime(8756):         at dalvik.system.NativeStart.main(Native Method)

MainScreenActivity.java è la classe che mostra la prima schermata dell'app in cui ci sono alcuni pulsanti, uno di questi deve mostrare l'activity con la mappa.
Gli altri pulsanti mostrano correttamente le altre activity.
La riga 63 riporta:
Intent intent = new Intent(MainScreenActivity.this, ShowMapActivity.class);

ShowMapActivity.java è presente nel package dell'applicazione assieme a tutte le altre classi, è anche dichiarata nel manifest in questo modo
Codice: [Seleziona]
<activity android:name="com.lcapps.mymappapp.ShowMapActivity"
                        android:screenOrientation="landscape"></activity>
Il nome della classe è giusto, ho fatto copia/incolla in tutti i file in cui è previsto.

Cos'altro posso controllare?

Offline pivoide

  • Utente junior
  • **
  • Post: 133
  • Respect: +19
    • Mostra profilo
  • Dispositivo Android:
    Samsung galaxy tab 10.1
  • Play Store ID:
    codicerosso
  • Sistema operativo:
    Ubuntu 11.04
Re: java.lang.NoClassDefFoundError, ma la classe c'è
« Risposta #1 il: 09 Marzo 2012, 18:01:51 CET »
0
Giusto per scrupolo hai controllato che nella cartella bin (suppongo tu usi eclipse con l'impostazione della cartella delle classi compilate di default) ci sia il .class e nel caso abbia la stessa data/tempo di generazione delle altre? Magari qualche casino di eclipse costruendo l'apk non gli ha fatto inserire quella classe.   
Odio l'inglese e per un informatico non è il massimo

Offline Alhazred

  • Nuovo arrivato
  • *
  • Post: 49
  • Respect: 0
    • Mostra profilo
  • Dispositivo Android:
    Motorola Atrix 4G
  • Sistema operativo:
    Windows 7 Ultimate 64bit
Re: java.lang.NoClassDefFoundError, ma la classe c'è
« Risposta #2 il: 09 Marzo 2012, 18:05:34 CET »
0
Sì, uso Eclipse.
Nella cartella bin c'è ShowMapActivity.class

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: java.lang.NoClassDefFoundError, ma la classe c'è
« Risposta #3 il: 09 Marzo 2012, 18:09:51 CET »
0
Hai incluso le librerie delle Google API?
NON rispondo a domande nei messaggi privati
Bradipao @ Play Store

Offline Alhazred

  • Nuovo arrivato
  • *
  • Post: 49
  • Respect: 0
    • Mostra profilo
  • Dispositivo Android:
    Motorola Atrix 4G
  • Sistema operativo:
    Windows 7 Ultimate 64bit
Re: java.lang.NoClassDefFoundError, ma la classe c'è
« Risposta #4 il: 09 Marzo 2012, 18:12:08 CET »
0
Nella creazione del progetto ho scelto Google APIs [Android 2.3.3]
Non è sufficiente?

Offline Alhazred

  • Nuovo arrivato
  • *
  • Post: 49
  • Respect: 0
    • Mostra profilo
  • Dispositivo Android:
    Motorola Atrix 4G
  • Sistema operativo:
    Windows 7 Ultimate 64bit
Re: java.lang.NoClassDefFoundError, ma la classe c'è
« Risposta #5 il: 09 Marzo 2012, 18:54:33 CET »
0
Risolto, avevo dichiarato
<uses-library android:name="com.google.android.maps" />

fuori dal tag <application>