Error 5005: Unknown error optimizing byte code
Иногда мне кажется что флеш пытается всеми силами воспрепятствовать завершению моего проекта )
Не успел я решить проблемы со сборщиком мусора как появилась новая напасть – при компиляции возникает ошибка “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.
Похоже изначально компилятор берёт слишком мало памяти и на большом проекте происходит переполнение при оптимизации байт-кода. Каким местом думали Адоб не понятно.

Август 6th, 2010 at 22:36
“Каким местом думали Адоб не понятно.”
Перейдя на flash после VisualC++ я часто задаюсь этим вопросом
Октябрь 1st, 2010 at 21:39
Спасибо преогромное!
У меня игра в один момент просто перестала запускаться, никаких ошибок не выводила. 3 часа промучился откатывая последние изменения в коде. В итоге начал удалять объекты понемногу и после определенного момента игра стала писать ошибку 5005, по которой я пришел на этот блог и решил проблему с помощью -Xmx128MB. Еще раз
Октябрь 1st, 2010 at 21:40
огромное спасибо!
Октябрь 1st, 2010 at 21:52
Рад что удалось помочь
Март 22nd, 2011 at 15:30
Спасибо. Сэкономил кучу времени
Апрель 22nd, 2011 at 16:58
Привет.У меня при запуске Flash CS5 выскакивает Error initializing Java Runtime Environment. You may need to reinstall Flash. И уменьшение памяти на VM не решает проблему.установил четыре различных jre, но все впустую. Не знаешь в чем проблема?
Апрель 22nd, 2011 at 17:37
Ну что я могу сказать… попробуй переустановить или перейти на CS4 ) других решений этой проблемы я пока не знаю
Август 7th, 2011 at 22:24
Спасибо, Олег. Теперь Флеш работает хорошо!
Сентябрь 16th, 2011 at 19:45
Выставлял все значения – и при всех пишет Error initializing Java Runtime Environment. You may need to reinstall Flash…. в чем может быть проблема? У меня CS4. После ввода переменной нужно перезагружать компьютер или что-нибудь в этом роде?
Сентябрь 16th, 2011 at 22:50
ну можно ещё попробовать поставить более новый джава.