Error 5005: Unknown error optimizing byte code

Август 5th, 2010 автор: Oleg Antipov

Иногда мне кажется что флеш пытается всеми силами воспрепятствовать завершению моего проекта )
Не успел я решить проблемы со сборщиком мусора как появилась новая напасть – при компиляции возникает ошибка “Error 5005: Unknown error optimizing byte code”. По описанию сразу становится понятно что ошибки в своём коде искать бесполезно…

В доках Адоба на этот счёт написано следующее “Extremely large Flash applications may compile incorrectly (Flash CS3, Flash CS4 Professional)”. Мой FLА проекта весит около 65 мегов, код экшн скрипта чтото около 500кб что вообщем то не так много. Решение от Адоба гениально – разбивайте на несколько SWF. Спасибо кэп!

Пришлось рыть весь интернет на предмет обходных манёвров. Вот полный список того, как предлагают лечить данную ошибку:

1. Убрать галочку с “Reduce file size and increase performance” в Publish Settings проекта (такое может и прокатит в CS3, но я уже работаю в CS4, а там такой галки нет)

2. Удалить ASO файлы – не помогло, т.к. их не было в директории проекта

3. File/Save and Compact – Тоже не помогло.

4. Увеличить память для java VM – А вот это помогло!)

Cуть последнего метода заключается в следующем:
Открываем Мой компьютер\Свойства\Дополнительно
Жмем кнопку Переменные среды\Системные переменные\Создать
Задаём имя переменной JAVA_TOOL_OPTIONS
Устанавливаем значение переменной: -Xmx1024M или -Xmx512M или -Xmx256M или -Xmx128M

Чем больше памяти выделим тем лучше, однако если флеш при компиляции начнёт ругаться сообщениями типа “Error initializing Java Runtime Environment. You may need to reinstall Flash.” надо просто поставить поменьше значение переменной. Мне помогло значение-Xmx256M.

Похоже изначально компилятор берёт слишком мало памяти и на большом проекте происходит переполнение при оптимизации байт-кода. Каким местом думали Адоб не понятно.

Категория: Отладка, Хитрости

10 Комментариев

  1. Алексей

    “Каким местом думали Адоб не понятно.”

    Перейдя на flash после VisualC++ я часто задаюсь этим вопросом :)

  2. MoonMana

    Спасибо преогромное!
    У меня игра в один момент просто перестала запускаться, никаких ошибок не выводила. 3 часа промучился откатывая последние изменения в коде. В итоге начал удалять объекты понемногу и после определенного момента игра стала писать ошибку 5005, по которой я пришел на этот блог и решил проблему с помощью -Xmx128MB. Еще раз

  3. MoonMana

    огромное спасибо!

  4. Oleg Antipov

    Рад что удалось помочь :smile:

  5. andri202

    Спасибо. Сэкономил кучу времени :smile:

  6. lexx9427

    Привет.У меня при запуске Flash CS5 выскакивает Error initializing Java Runtime Environment. You may need to reinstall Flash. И уменьшение памяти на VM не решает проблему.установил четыре различных jre, но все впустую. Не знаешь в чем проблема?

  7. Oleg Antipov

    Ну что я могу сказать… попробуй переустановить или перейти на CS4 ) других решений этой проблемы я пока не знаю

  8. Soulghai

    Спасибо, Олег. Теперь Флеш работает хорошо!

  9. Rosso

    Выставлял все значения – и при всех пишет Error initializing Java Runtime Environment. You may need to reinstall Flash…. в чем может быть проблема? У меня CS4. После ввода переменной нужно перезагружать компьютер или что-нибудь в этом роде?

  10. Oleg Antipov

    ну можно ещё попробовать поставить более новый джава.

Оставить комментарий