0

MonoDroid 似乎缺少 Android.Uitl.Zip 命名空间。

Mono for Android 有没有办法将资产解压缩到文档文件夹?

以下是 Java 中的方法: http ://www.jondev.net/articles/Unzipping_Files_with_Android_(Programmatically )

4

1 回答 1

1

我试图做同样的事情,不得不求助于第三方库。其他人建议使用 SharpZipLib,但如果您不从事开源项目,许可证可能会成为问题。DotNetZip 也是开源的,但它有一个更宽松的许可证,我能够在 Mono for Android 中使用源代码,而不会让人头疼。到目前为止,我只使用它来提取 zip,因此如果您想使用任何其他功能,您可能需要进行一些调试。

这是我使用的程序:

  1. 从http://dotnetzip.codeplex.com/SourceControl/list/changesets 获取源代码。

  2. 将 Zip、Zlib 和 CommonSrc 目录复制到您的 Android Mono 项目中。只复制 .cs 文件,不要复制任何子目录。

  3. 从 Zip 目录中删除 ZipFile.SaveSelfExtractor.cs 文件。

  4. 从 ZipEntry.Extract.cs 中的 ValidateOutput 函数中注释掉这一行。

    outFileName = outFileName.Replace("/","\\");
    

一旦我完成了所有这些,提取就非常简单了:

using Ionic.Zip;
Zipfile zip = ZipFile.Read(archivepath);
zip.ExtractAll(extractpath);
于 2012-05-25T18:24:55.743 回答