Использование Proguard для Android в Eclipse получило ошибку - PullRequest
23 голосов
/ 12 декабря 2010

Я взял новую версию Eclipse и все последние инструменты Android и хочу использовать Proguard в существующем проекте, но сейчас я создал новый пустой. Я добавил proguard.cfg файл в свой проект добавил proguard.config=proguard.cfg к моему default.properties

Теперь, когда я пытаюсь экспортировать, я получаю следующую ошибку

[2010-12-12 10:36:35 - ApplicationTest] Proguard returned with error code 1. See console
[2010-12-12 10:36:35 - ApplicationTest] 'C:\Program' is not recognized as an internal or external command,
[2010-12-12 10:36:35 - ApplicationTest] operable program or batch file.
[2010-12-12 10:36:35 - ApplicationTest] '-jar' is not recognized as an internal or external command,
[2010-12-12 10:36:35 - ApplicationTest] operable program or batch file.

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

Любая помощь приветствуется.

Ответы [ 7 ]

29 голосов
/ 17 января 2011

Вам необходимо указать путь к Android SDK без пробелов. Скопируйте и вставьте из этого ответа Марк:

Ошибка Proguard: ожидается разделитель пути к классам - не уверен, где мне нужно указать путь в кавычках

Да, это сработало для меня. Поставить а именно:

В Eclipse: Окно> Настройки> Android> Местоположение SDK

использовать что-то вроде c: \ Progra ~ 1 \ android-sdk (или, может быть, c: \ Progra ~ 2 \ android-sdk на 64-битной версии)

Для меня путь "c:\Progra~1\Android\android-sdk-windows"

9 голосов
/ 06 января 2011

Согласно комментариям, опубликованным инженером Google в теме здесь: http://groups.google.com/group/android-developers/browse_thread/thread/19b96902fc20cede

*. Bat файл, поставляемый с ProGuard, не поддерживает пути с пробелами.

Установка Java и Android SDK на пути без пробелов не решает проблему полностью. Все может пойти не так, если путь к рабочему пространству затмения, временной папке или некоторым внешним JAR-файлам также содержит пробелы.

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

0 голосов
/ 19 февраля 2014

Я изменил пути SDK на формат 8.3 и изменил папку proguard.jar в proguard.bat на формат 8.3, и теперь все снова работает!

0 голосов
/ 22 марта 2012

ОК, теперь я нашел один способ решить эту проблему 1, установите "PROGUARD_HOME" EVN PATH в \ tools \ proguard 2, перезапустите затмение 3, теперь это работает нормально!

0 голосов
/ 25 июня 2011

Эта проблема, по-видимому, исправлена ​​в ADT 12. Следующее изменение в main_rules.xml решает проблему и должно быть включено в ADT 12: https://review.source.android.com/#change,22791.

Я могу убедиться, что загрузка исправленной версии и замена копии, поставляемой вместе с sdk по адресу your_sdk_path / tools / ant, устраняет эту проблему.

0 голосов
/ 21 декабря 2010

Нет ли способа указать прямые пути к Java и Android SDK в конфигурационном файле proguard?

0 голосов
/ 12 декабря 2010

Я просто переустановил JAVA и ANDROID в корневой каталог, а не по пути по умолчанию в программных файлах, и все заработало

...