刚刚将我的 SDK 更新到 r20,并想在 Ice Cream Sandwich 4.1 模拟器上测试我的应用程序。当我试图创建一个新数据库时崩溃时,我的应用程序只有 6 行:
gradeBookDbAdapter mDbHelper = new gradeBookDbAdapter(this); <--- fails here
private static class DatabaseHelper extends SQLiteOpenHelper {
DatabaseHelper(Context context) {
super(context, DATABASE_NAME, null, DATABASE_VERSION);
}
public gradeBookDbAdapter(Context ctx) { <-- but it never gets here
this.mCtx = ctx;
}
<snip...</snip>
在“java.lang.VerifyError:”崩溃之前,我什至无法使用构造函数处理任何可执行代码
我正在使用外部库 Jexecelapi 来读取/写入 Excel 文件。自从我在 3 次主要修订前首次包含它以来,它一直在完美运行。但现在我的 LogCat 说:
07-08 18:21:38.185: I/dalvikvm(861): Could not find method jxl.Workbook.getWorkbook, referenced from method com.ulsanonline.gradebook2.gradeBookDbAdapter.readExcel
07-08 18:21:38.185: W/dalvikvm(861): VFY: unable to resolve static method 1084: Ljxl/Workbook;.getWorkbook (Ljava/io/File;)Ljxl/Workbook;
07-08 18:21:38.185: D/dalvikvm(861): VFY: replacing opcode 0x71 at 0x001b
07-08 18:21:38.185: W/dalvikvm(861): VFY: unable to resolve exception class 290 (Ljxl/read/biff/BiffException;)
07-08 18:21:38.185: W/dalvikvm(861): VFY: unable to find exception handler at addr 0x5c
07-08 18:21:38.185: W/dalvikvm(861): VFY: rejected Lcom/ulsanonline/gradebook2/gradeBookDbAdapter;.readExcel (Ljava/lang/String;)V
07-08 18:21:38.185: W/dalvikvm(861): VFY: rejecting opcode 0x0d at 0x005c
07-08 18:21:38.185: W/dalvikvm(861): VFY: rejected Lcom/ulsanonline/gradebook2/gradeBookDbAdapter;.readExcel (Ljava/lang/String;)V
07-08 18:21:38.185: W/dalvikvm(861): Verifier rejected class Lcom/ulsanonline/gradebook2/gradeBookDbAdapter;
07-08 18:21:38.195: D/AndroidRuntime(861): Shutting down VM
07-08 18:21:38.195: W/dalvikvm(861): threadid=1: thread exiting with uncaught exception (group=0x409c01f8)
07-08 18:21:38.205: E/AndroidRuntime(861): FATAL EXCEPTION: main
07-08 18:21:38.205: E/AndroidRuntime(861): java.lang.VerifyError: com/ulsanonline/gradebook2/gradeBookDbAdapter
所以我在第一篇文章中没有注意到崩溃上方的 logcat 文本,只是从主要错误向南走。我的图书馆现在失败的任何原因?