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

Версия Android SDK для редакторов 12 имеет проблемы с Proguard => преобразование ошибки в формат Dalvik с ошибкой 1

Я только что обновил версию Android SDK 12, сразу же мое приложение не может быть экспортировано с предыдущей настройкой Proguard. Я получил "Конверсия в формат Dalvik с ошибкой 1", единственной библиотекой, которую я использую, является "jcifs". Я пробовал очистить и перестроить, создать новый проект и снова собрать, и я считаю, что сделал почти все, что могу читать в Интернете. Это новая ошибка в этом новом SDK? Я предлагаю не обновлять пока, если ваш проект использует Proguard.

ОБНОВЛЕНИЕ 1: Я также попытался экспортировать простое приложение Hello с набором proguard, все тем же сообщением. Похоже, что эта версия инструмента SDK нарушена.

ОБНОВЛЕНИЕ 2: Я должен удалить всю папку инструментов в каталоге SDK и скопировать в нее резервную копию 11-й версии инструментов SDK. По крайней мере, я могу вернуться к работе и снова экспортировать с помощью proguard. Надеюсь, эта информация поможет тому, кто в той же ситуации. Я все еще не знаю, что происходит, надеюсь, кто-то может пролить свет на эту неприятную проблему.

ОБНОВЛЕНИЕ 3: Я сообщил об этом в качестве ошибки здесь: http://code.google.com/p/android/issues/detail?id=18359 надейтесь, что кто-то внимательно изучит эту проблему, до тех пор вам будет предложено держаться подальше от этой версии, если вы используете Proguard в своем развитии.

4b9b3361

Ответ 1

Проблема вызвана командной строкой ProGuard в R12 в файле [Каталог установки 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

Ответ 2

Я загрузил Proguard 4.6 и скопировал содержимое /lib и/bin в /tools/proguard/, который исправил проблему.

Ответ 3

Единственное решение, которое я нашел для этой проблемы, - это изменить в proguard.cfg

-optimizationpasses 5

к

-optimizationpasses 2

Ответ 4

Я столкнулся с той же проблемой, с помощью Android SDK Tools Rev 16, пытающейся экспортировать подписанный пакет приложений от Helios Eclipse 3.6 на Mac OS X 10.7.2 для исполнения на Samsung Galaxy Nexus 4.0.2 build ICL53F

Проблема:

[2012-01-11 03:15:46 - Chapter 8 Where Am I] Proguard returned with error code 1. See console
[2012-01-11 03:15:46 - Chapter 8 Where Am I] proguard.ParseException: Unknown option '8' in argument number 9
[2012-01-11 03:15:46 - Chapter 8 Where Am I]    at proguard.ConfigurationParser.parse(ConfigurationParser.java:170)
[2012-01-11 03:15:46 - Chapter 8 Where Am I]    at proguard.ProGuard.main(ProGuard.java:491)

Решение:

cd /Applications/android-sdk-mac_x86/tools/proguard/bin

затем измените файл proguard.sh следующим образом:

# java -jar "$PROGUARD_HOME"/lib/proguard.jar "[email protected]"
java -jar "$PROGUARD_HOME"/lib/proguard.jar "$1" "$2" "$3" "$4" "$5" "$6" "$7" "$8"

Ответ 5

Я просто исправил эту проблему, загрузив установщик R11 из http://dl.google.com/android/installer_r11-windows.exe и заменив каталог \tools на это:
Запустите загруженный установщик.
Укажите другую папку назначения, чем обычная установка, и нажмите "Установить".
После этого вы можете снять флажок "Запустить диспетчер SDK..." и нажать [Готово].
Установщик создаст каталог \tools в этой другой папке.
Переименуйте свой обычный каталог "\ android-sdk-windows\tools" и скопируйте каталог \tools в свой обычный каталог "\ android-sdk-windows".
Теперь проект должен строиться без "ошибки 1".
Я еще не посмотрел, что по-другому в 2 каталогах.

Ответ 6

Изменение proguard.bat, как было предложено, в моем случае не помогло. Также не помогло обновление до програды 4.6. Что мне помогло, так это то, что мне пришлось перейти на Android SDK на версию 11. Примечание: при запуске SDK Manager и установке пакетов я не установил пакет "Android SDK Tools, версия 12".

UPDATE:

Я попытался с версией SDK для Android SDK, но проблема все еще присутствует. Теперь это обходное решение для перехода на версия 11 больше не работает, поскольку URL-адрес, который использует SDK-менеджер для загрузки пакетов, больше не работает.

После двух дней попыток разных решений, обновление до proguard 4.6 действительно помогло.

Ответ 7

Android SDK Tools Rev 16 поставляется с ProGuard 4.4, у которого есть эта проблема. Я обновил до 4.7, заменив файлы в папке android-sdk\tools\proguard, и это устранило проблему для меня.

Спасибо

Ответ 8

Это сработало для меня. Как предложил Michiel, я заменил proguard.bat от proguard 4.6, и теперь я могу экспортировать подписанное приложение без ошибки. Спасибо, друг.