【问题标题】:Android + Zip4j-1.3.1 jar throws VerifyErrorAndroid + Zip4j-1.3.1 jar 抛出 VerifyError
【发布时间】:2012-04-11 21:18:13
【问题描述】:

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

【问题讨论】:

    标签: android


    【解决方案1】:

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

    【讨论】:

    • 好的。它可能并不总是将副本放在 lib 文件夹中。 :) 所以只需复制和粘贴
    • 谢谢,将文件添加到资产文件夹有效。但通常我一直在将 jar 文件添加到 lib 中,它们起作用了。
    猜你喜欢
    • 2017-06-20
    • 1970-01-01
    • 1970-01-01
    • 2016-02-02
    • 1970-01-01
    • 2012-01-08
    • 2013-09-02
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多