MonoDroid:解压缩资产

时间:2012-05-12 16:25:05

标签: android mono monodevelop xamarin.android

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

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

以下是Java中的内容: http://www.jondev.net/articles/Unzipping_Files_with_Android_(Programmatically

1 个答案:

答案 0 :(得分:1)

我试图做同样的事情,不得不求助于第三方图书馆。其他人建议使用SharpZipLib,但如果您没有开发一个开源项目,许可证可能会成为一个问题。 DotNetZip也是开源的,但它有一个更宽松的许可证,我能够在Mono for Android中使用源代码而不会有太多麻烦。到目前为止我只用它来提取拉链,所以如果你想使用任何其他功能,你可能需要做一些调试。

以下是我使用的程序:

  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("/","\\");
    
  5. 一旦我完成了所有这些,提取非常简单:

    using Ionic.Zip;
    Zipfile zip = ZipFile.Read(archivepath);
    zip.ExtractAll(extractpath);