1

我正在尝试在我的 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)
4

1 回答 1

2

你把你的jar文件放在哪里了?没有必要,但在某些情况下,它的工作原理如下:您需要将 jar 放在 assets 文件夹中。然后你配置你的 Java 构建路径。从 assets 文件夹添加 jar,然后(在 eclipse 中,进入 order and export 选项卡并检查 jar 文件)导出 jar。它会自动将其添加到您的应用程序库文件夹中。我不知道为什么,但在我的一个应用程序中它并没有反过来工作(复制 lib 中的 jar 并将其添加到 builtpath)。你也可以改变你的java编译器。

于 2012-04-11T13:18:13.087 回答