我正在尝试在我的android项目中使用zip4j jar文件来密码保护应用程序中的zip文件。在lib文件夹中复制jar并&将它添加到构建路径中。代码编译得很好。但是当我运行项目时,它会给出VerifyError。
注意:如果我将源代码添加到项目而不是jar中,它可以正常工作。
E/dalvikvm(1502): Could not find class 'net.lingala.zip4j.core.ZipFile', referenced from method a.test.zip.ZipHelper.zipFilesWithStandardZipEncryption
W/dalvikvm(1502): VFY: unable to resolve new-instance 45 (Lnet/lingala/zip4j/core/ZipFile;) in La/test/zip/ZipHelper;
D/dalvikvm(1502): VFY: replacing opcode 0x22 at 0x002a
W/dalvikvm(1502): VFY: unable to resolve exception class 46 (Lnet/lingala/zip4j/exception/ZipException;)
W/dalvikvm(1502): VFY: unable to find exception handler at addr 0x78
W/dalvikvm(1502): VFY: rejected La/test/zip/ZipHelper;.zipFilesWithStandardZipEncryption (Landroid/content/Context;)V
W/dalvikvm(1502): VFY: rejecting opcode 0x0d at 0x0078
W/dalvikvm(1502): VFY: rejected La/test/zip/ZipHelper;.zipFilesWithStandardZipEncryption (Landroid/content/Context;)V
W/dalvikvm(1502): Verifier rejected class La/test/zip/ZipHelper;
D/AndroidRuntime(1502): Shutting down VM
W/dalvikvm(1502): threadid=1: thread exiting with uncaught exception (group=0x4001d800)
答案 0 :(得分:2)
你把你的jar文件放在哪里? 没有必要,但在某些情况下它的工作原理如下:你需要把你的jar放在assets文件夹中。然后配置Java内置路径。从assets文件夹中添加jar,然后(在eclipse中,获取订单并导出选项卡并检查jar文件)导出jar。 它会自动将其添加到您的应用程序库文件夹中我不知道为什么,但它在我的一个应用程序中没有相反的工作(在lib中加入jar并将其添加到buildpath)。 你也可以改变你的java编译器。