Подтвердить что ты не робот

"Ошибка преобразования в формат Dalvik с ошибкой 1" - только при экспорте

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

У меня есть:

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

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

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

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

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

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

Спасибо заранее...

EDIT-UPDATE: Ошибка при отключении Proguard. Очень странно.

4b9b3361

Ответ 1

Это проблема с 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, он, вероятно, будет повторно введен (присутствует в последних нескольких выпусках).

Ответ 2

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

Ответ 3

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

Ответ 4

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

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

Ответ 5

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

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

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

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

2) Всплывающее окно откроется. Убедитесь, что "Отсоединение папки от проекта" также проверено, а затем подтвердите ее.

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

Ответ 6

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

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

Ответ 8

Unselect Build Automatically работает для меня. Танки anjaneya;

0) Отменить автоматическую сборку 1) Очистить проект 2) Построить проект. 3) Экспорт подписанного приложения в опции Инструменты Android.