«Преобразование в формат Dalvik завершилось с ошибкой 1» - только при экспорте - PullRequest
15 голосов
/ 17 ноября 2011

Я знаю, что это повторяющийся вопрос, но я прочитал и перепробовал каждое решение на этом сайте, и я все еще получаю сообщение об ошибке;Кроме того, я получаю его ТОЛЬКО при экспорте моего подписанного apk из Eclipse.Я могу собрать и запустить неподписанный apk.

У меня есть:

  • Удалены (и позже восстановлены) все библиотеки из пути сборки
  • Очищены иперестроил все мои проекты
  • Перезапустил Eclipse с опцией -clean
  • Пересоздаю проект приложения с нуля

Я знаю, ошибка 1 означает, что у меня есть дубликаты символов, но яЯ проверил, очистил и перестроил мой путь сборки миллион раз, и я все еще получаю ошибку, только при экспорте .

  • Если бы у меня были повторяющиеся символы, я бы не сталполучить ошибку 1 и для моего неподписанного apk?
  • Если у меня действительно есть повторяющиеся символы, как я могу заставить Eclipse сказать мне, что они?Все, что я получаю от мастера экспорта, это диалоговое окно с ошибкой в ​​одну строку.: (
  • Я не получаю никаких ошибок при ручной подписи apk, но при установке его на телефон я получаю простую ошибку: «Приложение не установлено.»: (: (

Моя структура проекта выглядит следующим образом:

  1. Один проект библиотеки Android с 99% моего кода. Он содержит одну копию необходимых jar-файлов в пути сборки.
  2. Один проект приложения для Android с двумя классами. Он ссылается на проект библиотеки через вкладку Android, а НЕ путь сборки Java. Никаких дополнительных источников, проектов или библиотек, на которые есть ссылки в пути сборки, кроме Android 2.1. Я даже пересоздалэтот проект с нуля (я не создавал заново проект библиотеки, потому что он намного больше).

Все работало несколько дней назад! Любые предложения приветствуются!

Заранее спасибо ...

EDIT-UPDATE: Ошибка исчезает, когда я отключаю Proguard. Очень странно.

Ответы [ 8 ]

20 голосов
/ 19 ноября 2011

Это проблема с Proguard в инструментах разработчика Windows - отредактируйте Android SDK\tools\proguard\bin\Proguard.bat

Замените:

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

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

9 голосов
/ 07 февраля 2012

Обновите ваш Proguard до последней версии, то есть 4.7 ... Загрузите zip из http://sourceforge.net/projects/proguard/files/latest/download?source=files .... затем скопируйте папки "lib" и "bin" из zip в ваш sdk / tools / proguard /, чтобы заменить стандартные или произнесите старые "bin" и "lib" .... попробуйте экспортировать свой проект еще раз ...

4 голосов
/ 16 декабря 2013

Зайдите в проект и снимите флажок Автоматически строить. Затем очистите проект и соберите все. Работал для меня, чтобы экспортировать подписанный пакет приложения

1 голос
/ 20 июля 2012

Это тоже сводило меня с ума.Я попробовал все, изменил все свои внешние библиотеки и так далее, но ничего не получалось.Я попробовал более новую версию Proguard без успеха.

Оказывается, я использовал библиотеку "GridLayout" для поддержки старых устройств.После того, как я переименовал класс «GridLayout» в «CustomGridLayout», он работал нормально.Похоже, вы не можете иметь повторяющиеся имена классов.

0 голосов
/ 27 января 2015

Отменить выбор Build Автоматически работает для меня.Танки anjaneya;

0) Отмена выбора «Автоматически строить» 1) Очистить проект 2) Построить проект.3) Экспорт подписанного приложения в настройках Android Tools.

0 голосов
/ 04 марта 2014

Принятый ответ на этот вопрос (с 2011 года) у меня не сработал. Однако правильный ответ на этот вопрос выложен здесь:

При экспорте в Android выводится сообщение «Ошибка преобразования формата Dalvik1»

0 голосов
/ 09 октября 2012

Я попробовал несколько из вышеперечисленных решений, но безуспешно. Затем я закрыл Eclipse, снова открыл его и смог успешно экспортировать. Однако, если я попробую еще раз, это не сработает.

Итак, я думаю, что, возможно, я получу один успешный экспорт за одно «открытие» Eclipse. Не идеальное решение, но когда все остальное не помогает, попробуйте. У меня это сработало.

0 голосов
/ 20 августа 2012

Вот ключ, который работал для меня

http://android.foxykeep.com/dev/fix-the-conversion-to-dalvik-format-failed-with-error-1-with-adt-14

Предположительно исправлено в ADT-15, обходной путь -

1) Для каждого элемента X_src щелкните его правой кнопкой мыши и выберите «Путь сборки»> «Удалить из пути сборки».

2) Откроется всплывающее окно. Убедитесь, что установлен флажок «Также отсоединить папку от проекта», а затем примите его.

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

...