Я разработал приложение, которое имеет несколько пакетов в его проекте ... Класс в одном из этих пакетов называется сразу в первой строке кода, который бросает ужасную ошибку java.lang.NoClassDefFoundError ... Я не понимаю, пакет просто находится в рамках проекта, и он отлично работает на моем устройстве Android 1.6, но не будет работать с моим устройством 1.5. Я должен сказать, что проект изначально был установлен на 1,6, но затем я изменил внутри манифеста с 4 до 3 ... Неужели это плохая практика? Или, может быть, это не имеет никакого отношения к версии платформы?java.lang.NoClassDefFoundError, брошенный с моими собственными пакетами в Android 1.5
Также я получаю эти строки как вэй из 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;
То будет ManagementModule, который также пытается получить несколько инфо-полей самого устройства ... Опять же, это прекрасно работает на устройство 1.6, хотя это устройство разработки, в то время как мое устройство 1.5 является неработающим устройством ...
Для обратной совместимости: http://android-developers.blogspot.com/2009/04/backward-compatibility-for-android.html. Если это только одно поле, используйте отражение. – fadden