Встраивание ZIP выдает ошибку

Я хочу встроить ZIP-файл в свое AS3/Air-приложение (с помощью Flash Builder) и открыть его через FZip. Для встраивания я использую этот код:

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

При попытке сохранить проект программа вылетает и выдает ошибку:

"Рабочее пространство создается" столкнулся с проблемой. Во время сборки «Рабочее пространство» произошла внутренняя ошибка. (это просто плохой перевод, а не оригинал) Java heap space

Нажимаю ОК, появляется внутренняя ошибка:

Появилась ошибка «Недостаточно места на диске». Загляните в файл Readme в разделе «Запустить Eclipse», вы найдете информацию [...] Рекомендуется завершить работу верстака. Вы хотите закончить верстак? да нет

В более ранней версии этого сообщения я сказал, что программа не запускается. Это неправда. Только сохранение вызывает эту ошибку. Из-за ошибок сохранения запускается более ранняя версия программы, но без ошибок. Когда я пытаюсь сделать bytearray из zip, это вызывает ошибку (исходное содержимое не найдено), но я предполагаю, что zip не загружается, так что это не является чем-то необычным.


person Sebastian Starke    schedule 28.10.2012    source источник
comment
Это происходит ТОЛЬКО когда я пытаюсь вставить почтовый индекс. Если я использую тот же код для встраивания xml, ничего необычного не происходит. Я подумал, может быть, это зависит от того, как сжат zip, поэтому я попробовал несколько zip-программ для создания несжатых файлов, но никакой разницы. Может кто-нибудь хотя бы сказать мне, возможно ли, что проблема в zip-файле? Потому что появляется сообщение об ошибке, даже когда я пытаюсь просто сохранить свой код. Возможно ли, что Flash Builder проверяет встроенные файлы при сохранении?   -  person Sebastian Starke    schedule 29.10.2012
comment
Вы пробовали загружать zip вместо встраивания? может быть, ваш почтовый индекс гигантский:)?   -  person Lukasz 'Severiaan' Grela    schedule 30.10.2012
comment
Нет, это не так, но это будет. Я хочу встроить его, потому что считаю, что это единственный способ упаковать всю игровую графику в установщик AIR. Если я просто загружаю zip, мне приходится вручную добавлять его в папку программы. Пожалуйста, поправьте меня, если есть лучший способ.   -  person Sebastian Starke    schedule 30.10.2012


Ответы (1)


вам НЕ следует вставлять этот ZIP-файл, а вместо этого загружать его, вы можете добавить в пакет AIR любые файлы/папки.

To do it:

  • во Flash IDE перейдите в «Настройки AIR для Android» или «Настройки AIR для iOS», и в нижней части диалогового окна у вас есть поле «Включенные файлы:», затем добавьте нужную папку или файл,
  • для FlashDevelop все, что будет в папке bin, будет упаковано в воздух, как описано здесь
  • Во Flex это будет папка src, и в мастере экспорта вы можете выбрать, какие файлы включать, как описано здесь.

Редактировать также вы должны рассмотреть для очень больших файлов следующую идею:

не включайте большие файлы (или только основные элементы) и загружайте большие файлы и сохраняйте на пользовательском устройстве, например. на SD-карте, а затем загрузите его оттуда.

с уважением

person Lukasz 'Severiaan' Grela    schedule 30.10.2012
comment
Спасибо за ваш ответ. Но я только что узнал, что это не имеет значения. В Windows установка завершится сбоем, если файл air больше 500 МБ или что-то в этом роде. Поэтому мне придется найти другой путь. Может найду как сделать кастомный exe установщик и пусть копирует все файлы в директорию программы. В этом случае мне не нужно их застегивать. - person Sebastian Starke; 30.10.2012
comment
Я отмечу ваш ответ как правильный, потому что я бы сделал это именно так. Единственное, что следует упомянуть, это то, что в FlashBuilder файлы, которые вы хотите включить, по какой-либо причине должны находиться в папке src. - person Sebastian Starke; 30.10.2012