Главная » Android » Программирование » Conversion to Dalvik format failed with error 1

Conversion to Dalvik format failed with error 1

29 июня 2013

Сегодня угрохал практически весь рабочий день на поиск решения проблемы. Понадобилось собрать тестовую версию моего приложения, изменил одну опцию в проекте, выбрал команду Export Android Application в Eclipse и… получил ошибку “Conversion to Dalvik format failed with error 1″.

Советов в интернет по поводу этой ошибки много. Следуя им, я переустановил несколько библиотек SDK, удалял из Eclipse свои проекты и заново их добавлял, запускал eclipse.exe -clean. Не успел последовать совету “снесите все и поставьте заново”, угрохал бы еще вечер впридачу.

Слава высшим силам, нашелся-таки правильный для моей ситуации совет. В чем проблема: недавно обновился набор инструментов, Android SDK tools до версии 12. В частности, гугл прилично улучшил Layout Editor, редактор окон Android приложений. Похоже, в этот пакет инструментов включен и ProGuard, утилита защиты андроид приложений от реверс-инжениринга. Утилита вызывается на финальном этапе сборки андроид приложения через командный файл:

(путь к установленному SDK)\tools\proguard\bin\proguard.bat

И этот файл неправильный для нового комплекта SDK Tools версии 12. Вот рецепт исправления ошибки:

Измените строку
call %java_exe% -jar “%PROGUARD_HOME%”\lib\proguard.jar %*
на
call %java_exe% -jar “%PROGUARD_HOME%”\lib\proguard.jar %1 %2 %3 %4 %5 %6 %7 %8 %9

P.S. В ветке обсуждения проблемы были и другие варианты – обновить ProGuard, а также откатиться на SDK Tools 11.