Android 1.5中我自己的包引发java.lang.NoClassDefFoundError

Android 1.5中我自己的包引发java.lang.NoClassDefFoundError,android,package,noclassdeffounderror,Android,Package,Noclassdeffounderror,我已经开发了一个应用程序,其中有几个包在它的项目。。。 其中一个包中的类在第一行代码中立即被调用,这会抛出可怕的java.lang.NoClassDefFoundError错误。。。 我不明白,这个软件包只是在项目中,它在我的安卓1.6设备上运行良好,但在我的1.5设备上无法运行。。。 我不得不说,该项目最初设置为1.6,但后来我将清单中的值从4更改为3。。。 那是坏习惯吗?或者可能与平台版本无关 此外,我还从DDMS中获得了以下行: 05-04 17:24:59.921: WARN/dalvi

我已经开发了一个应用程序,其中有几个包在它的项目。。。 其中一个包中的类在第一行代码中立即被调用,这会抛出可怕的java.lang.NoClassDefFoundError错误。。。 我不明白,这个软件包只是在项目中,它在我的安卓1.6设备上运行良好,但在我的1.5设备上无法运行。。。 我不得不说,该项目最初设置为1.6,但后来我将清单中的值从4更改为3。。。 那是坏习惯吗?或者可能与平台版本无关

此外,我还从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;
这是管理模块,它还尝试检索设备本身的几个信息字段。。。
同样,这在1.6设备上运行良好,即使这是一个开发设备,而我的1.5设备是一个非开发设备…

验证程序在1.5和1.6之间没有太大变化,因此在每个设备上都应该是一样的高兴或不高兴。(在>=2.0时,它将在第一次使用字段时抛出NoSuchFieldError,而不是拒绝整个类。)


问题似乎在于Android 1.5(“杯形蛋糕”)中不存在Build.MANUFACTURER字段。我相信它是在1.6(“甜甜圈”)中引入的。

谢谢,我查看了文档,您是对的,1.5不支持它,但我必须找到一种方法使其向后兼容向后兼容:。如果只是这一个字段,请使用反射。