J'ai développé une application qui a plusieurs paquets dans son projet ... Une classe dans un de ces paquets est appelée tout de suite dans la première ligne de code, ce qui jette l'erreur redoutée java.lang.NoClassDefFoundError ... Je ne comprends pas, le paquet est tout simplement dans le projet, et il fonctionne très bien sur mon appareil Android 1.6, mais ne fonctionnera pas avec mon périphérique 1.5 .. Je dois dire que le projet a été initialement défini pour 1.6, mais j'ai ensuite changé le dans le manifeste de 4 à 3 ... Est-ce une mauvaise pratique? Ou peut-être que cela n'a rien à voir avec la version de la plateforme?java.lang.NoClassDefFoundError lancé avec mes propres paquets dans Android 1.5
Aussi je reçois ces lignes comme wel du DDMS:
05-04 17:24:59.921: WARN/dalvikvm(2041): VFY: unable to resolve static field 2 (MANUFACTURER) in Landroid/os/Build;
05-04 17:24:59.921: WARN/dalvikvm(2041): VFY: rejecting opcode 0x62 at 0x0034
05-04 17:24:59.921: WARN/dalvikvm(2041): VFY: rejected ***/android/managementModule/Management;.getDeviceSpecifics()V
05-04 17:24:59.921: WARN/dalvikvm(2041): Verifier rejected class ***/android/managementModule/Management;
Cest le ManagementModule qui tente également de récupérer plusieurs informations des champs de l'appareil lui-même ... Encore une fois, cela fonctionne très bien sur le dispositif 1.6, même s'il s'agit d'un périphérique de développement alors que mon périphérique 1.5 est un périphérique sans développement ...
Pour des raisons de compatibilité ascendante: http://android-developers.blogspot.com/2009/04/backward-compatibility-for-android.html. Si c'est juste ce seul champ, utilisez la réflexion. – fadden