【发布时间】:2010-05-05 15:26:22
【问题描述】:
我开发了一个应用程序,它的项目中有几个包... 在第一行代码中立即调用其中一个包中的类,这会引发可怕的 java.lang.NoClassDefFoundError 错误...... 我不明白,这个包只是在项目中,它在我的 Android 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;
这就是 ManagementModule,它还尝试检索设备本身的多个信息字段... 同样,这在 1.6 设备上工作得很好,即使那是一个开发设备,而我的 1.5 设备是一个非开发设备......
【问题讨论】:
-
为了向后兼容:android-developers.blogspot.com/2009/04/…。如果只是单个字段,请使用反射。
标签: android package noclassdeffounderror