【问题标题】:ZIP Embedding throws errorZIP 嵌入引发错误
【发布时间】:2012-10-28 18:11:43
【问题描述】:

我想将 ZIP 文件嵌入我的 AS3/Air-应用程序(使用 Flash Builder)并通过 FZip 打开它。对于嵌入,我使用以下代码:

[Embed(source='../bin/art/resources.zip', mimeType="application/octet-stream")]
public static const rsClass:Class;

当我尝试保存项目时,程序崩溃并抛出错误:

“正在构建工作区”遇到问题。在“正在构建工作区”期间,发生了内部错误。 (这只是一个糟糕的翻译,不是原创)Java堆空间

我点击确定,出现内部错误:

出现“磁盘空间太低”错误。查看“运行 Eclipse”处的自述文件,您将找到信息 [...] 建议结束工作台。要结束工作台吗?是/否

在这篇文章的早期版本中,我说过程序没有启动。那不是真的。只有保存会导致此错误。由于保存错误,启动了早期版本的程序,但没有错误。当我尝试从 zip 中制作一个 bytearray 时,它会导致错误(未找到初始内容),但我认为 zip 没有加载,所以这并不罕见。

【问题讨论】:

  • 只有在我尝试嵌入 zip 时才会发生这种情况。如果我使用相同的代码嵌入 xml,则不会发生任何异常情况。我想,也许它可能取决于 zip 的压缩方式,所以我尝试了几个 zip 程序来生成未压缩的文件,但没有区别。有人至少可以告诉我,问题是否可能出在 zip 文件上?因为出现错误消息,即使我尝试只保存我的代码。 Flash Builder 是否可以在保存时检查嵌入的文件?
  • 您是否尝试加载 zip 而不是嵌入?也许你的拉链很大:)?
  • 不,它不是,但它会是。我想嵌入它,因为我认为这是将所有游戏图形打包到 AIR 安装程序中的唯一方法。如果我只是加载 zip,我必须手动将其添加到程序文件夹中。请纠正我,如果有更好的方法。

标签: actionscript-3 air adobe embedding flash-builder


【解决方案1】:

您不应嵌入此 ZIP,而是加载它,您可以将任何文件/文件夹添加到 AIR 包中。

这样做:

  • 在 Flash IDE 中,转到“AIR for Android Settings”或“AIR for iOS Settings”,在对话框底部有“Included files:”字段,然后添加您需要的文件夹或文件,
  • 对于 FlashDevelop,bin 文件夹中的任何内容都将按照here 的描述打包在空中
  • 在 Flex 中,它将是 src 文件夹,在导出向导中,您可以选择要包含的文件,如 here 所述。

编辑你也应该考虑对非常大的文件遵循以下想法:

不要包含大文件(或仅包含基本元素)并下载大文件并保存在用户设备上,例如在 sdcard 上,然后从那里加载它。

最好的问候

【讨论】:

  • 感谢您的回复。但我刚刚发现这并不重要。在 Windows 上,如果空气文件大于 500mb 或其他东西,安装将崩溃。因此,我将不得不寻找另一种方法。也许我会找到如何制作一个自定义的 exe 安装程序并让它将所有文件复制到程序目录。在这种情况下,我不必压缩它们。
  • 我会将您的答案标记为正确,因为我会这样做。唯一要提到的是,在 FlashBuilder 中,无论出于何种原因,您要包含的文件都必须位于 src 文件夹中。
猜你喜欢
  • 1970-01-01
  • 1970-01-01
  • 2013-04-08
  • 1970-01-01
  • 1970-01-01
  • 2016-08-11
  • 1970-01-01
  • 2020-02-23
  • 2015-09-28
相关资源
最近更新 更多