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

Ошибка:

BUILD FAILED
C:\workspace\projectName\add-proguard-release.xml:35: Expecting class path separator ';' before 'Files\eclipse\android-sdk-windows\platforms\android-3\android.jar' in argument number 1

Я полностью осознаю, что моя проблема в том, что у меня есть eclipse+android в каталоге c:\program files\eclipse, и эта проблема возникает из-за пробела между «программой» и «файлами».

Я также знаю, что решение состоит в том, чтобы поместить этот путь в кавычки.

Моя проблема в том, ГДЕ поставить эти цитаты. Я немного новичок в ANT: и следую указаниям, которые нашел здесь: http://android-developers.blogspot.com/2010/09/proguard-android-and-licensing-server.html

В настоящее время я пытаюсь выяснить достаточно больше о том, как ANT работает с PROGUARD, чтобы знать, где обернуть путь кавычками - и как (я беспокоюсь, что это в XML и не уверен, какая обработка будет происходить для экранирования символов и т.д)

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


person Mampersat    schedule 05.12.2010    source источник
comment
В итоге я переместил свои установки eclipse + SDK в c:/development и также удалил пробелы из имени каталога проекта. Теперь у меня есть 3-4 версии кода, которые мне нужно очистить, но я смог создать запутанную версию приложения для публикации.   -  person Mampersat    schedule 06.12.2010


Ответы (6)


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

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

person Mark    schedule 30.12.2010

Это сработало для меня:

добавьте следующую строку в файл default.properties:

external.libs.dir=библиотеки

Источник: http://zed.0xff.me/2010/12/22/expecting-class-path-separator-before-in-argument-number-1

person olafure    schedule 06.01.2011
comment
отредактируйте add-proguard-release.xml и замените ‹pathelement path=${external.libs.dir}/› на ‹!--pathelement path=${external.libs.dir}/--› - person strange; 10.04.2011

ProGuard не любит пути, содержащие пробелы. Поэтому я всегда устанавливаю Android SDK непосредственно в папку C:\ ==> C:\android-sdk-windows.

person ef2011    schedule 11.05.2011

Если вы указываете пути для местоположений Android SDK и Proguard вручную, вы всегда можете использовать краткую форму пути:

c:\progra~1\eclipse

Это возврат к давним временам длинных имен файлов Windows, но он все еще работает, по крайней мере, до XP (и я думаю, что позже, но я не использовал 7 или Vista достаточно, чтобы быть уверенным).

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

person mbafford    schedule 05.12.2010

Добавьте sdk.dir=C:\\Progra~1\\Eclipse\\android-sdk-windows в файл local.properties.

Убедитесь, что путь совпадает с тем, что указан на вашем компьютере.

person Muzikant    schedule 29.05.2011

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

person Hikmat Khan    schedule 22.03.2012