1

Androidプロジェクトでzip4jjarファイルを使用して、アプリケーションでzipファイルをパスワードで保護しようとしています。jarをlibフォルダーにコピーし、ビルドパスに追加しました。コードは正常にコンパイルされます。しかし、プロジェクトを実行すると、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ビルドパスを構成します。アセットフォルダーからjarを追加し、(Eclipseで、[注文とエクスポート]タブに移動し、jarファイルを確認します)jarをエクスポートします。アプリケーションのlibフォルダーに自動的に追加されます。理由はわかりませんが、私のアプリケーションの1つでは、逆の方法(libでjarをコピーしてbuiltpathに追加する)では機能しませんでした。Javaコンパイラを変更することもできます。

于 2012-04-11T13:18:13.087 に答える