Proguard се върна с код на грешка 1. (Името на файла, името на директорията или синтаксисът на етикета на тома е неправилен)

Току-що надстроих до най-новия ADT (19) и отново получавам оплаквания от ProGuard, но този път е по-лошо от обикновено. Прочетох десетки въпроси за тази грешка, но нито един от отговорите не работи този път.

Когато се опитам да експортирам подписан APK, конзолата казва:

Proguard се върна с код на грешка 1. Вижте конзолата

Грешка: @C:\Users\Barry\AppData\Local\Temp\android_8523956309172274256.pro (Името на файла, името на директорията или синтаксисът на етикета на тома е неправилен)

Потвърдих, че файлът съществува (Прочетох другаде @ е част от съобщението за грешка, а не част от името на файла). Мисля, че тази грешка се оплаква от пътя на файла, а не от съдържанието на файла, но за всеки случай включих съдържанието по-долу.

РЕДАКТИРАНЕ: Потвърдих в документите на ProGuard, че @ трябва да е там. Това е част от синтаксиса на командния ред.

  • Използвам най-новия Proguard (4.8)
  • Използвам най-новата добавка ADT Eclipse (18.0.0)
  • Използвам най-новите Android SDK Tools (19) и най-новите Android SDK Platform Tools (11)
  • ProGuard не съобщава за липсващи класове (или нещо друго)
  • Почистих и изградих наново моя проект
  • Използвам Windows 7 64-bit

В миналото поправих грешки на ProGuard след надстройка на ADT, като промених параметъра %@ в proguard.bat както тази тема препоръчва. Горната грешка е напълно нова за мен. Намерих само един друг отчет в тази тема, но плакатът го поправи чрез надграждане до ProGuard 4.8. Няма такъв късмет за мен. :(

Благодаря предварително...

РЕДАКТИРАНЕ: Когато стартирах ProGuard ръчно с горните входни буркани, той съобщи за липсващи класове поради липсващи буркани (въпреки че никога не съм виждал това в конзолата). Проблемът е, че все още не знам защо ProGuard или ADT генерират .pro файлове с липсващи буркани, тъй като те са на моя път за компилиране и са работили с предишния ADT.

Съдържание на файла по-горе:

C:\Users\Barry\dev\workspace\MY-PROJECT\proguard.cfg

-injars C:\Users\Barry\AppData\Local\Temp\android_824795077905177388.jar;C:\Users\Barry\dev\workspace\KeyboardLib\bin\keyboardlib.jar;C:\Users\Barry\dev\android-sdk \tools\support\annotations.jar

-outjars C:\Users\Barry\AppData\Local\Temp\android_2943979964980515538.jar

-libraryjars C:\Users\Barry\dev\android-sdk\platforms\android-10\android.jar

-dump C:\Users\Barry\dev\workspace\MY-PROJECT\proguard\dump.txt

-printseeds C:\Users\Barry\dev\workspace\MY-PROJECT\proguard\seeds.txt

-printusage C:\Users\Barry\dev\workspace\MY-PROJECT\proguard\usage.txt

-printmapping C:\Users\Barry\dev\workspace\MY-PROJECT\proguard\mapping.txt

Всички jar файлове по-горе съществуват и съдържат .class файлове, с изключение на файла outjar, който съществува, но е 0 байта.


person Barry Fruitman    schedule 03.06.2012    source източник
comment
Последният път, когато имах този проблем, надстроих до ProGuard 4.9 (ADT 21), за да го разреша. След надграждане до ADT 22 проблемът се появи отново. След като опитах няколко часа, намалих версията на ProGuard до 4.8 и грешката изчезна. Процесът на изграждане на Android е досаден, непостоянен и в крайна сметка е просто проба-грешка. Надявам се да го направят по-добре с Android Studio и изграждането на Gradle...   -  person Emanuel Moecklin    schedule 19.05.2013


Отговори (3)


Имах абсолютно същия проблем като теб. Това, което в крайна сметка работи за мен, беше надграждането на версията на proguard, пакетирана с android SDK, до 4.8. По някаква причина proguard 4.7 беше източникът на проблемите.

Заменете съдържанието на папката \android-sdk\tools\proguard\lib\ и \android-sdk\tools\proguard\bin\ с файловете, изтеглени от сайта на proguard.

Използвам ADT 20.0.3

person Pete    schedule 07.10.2012

Добре, реших го за себе си. За съжаление решението се връщаше към ADT 18 и ProGuard 4.7. Странно, но дори ProGuard 4.8 даде същата грешка с ADT 18. Почти съм сигурен, че това е грешка в ADT. Може би е несъвместим с приставката ADT Eclipse, която все още е във версия 18. Странно е, че ADT 19 е достъпен чрез мениджъра на SDK, въпреки че изтеглянето на SDK все още е в пакет с ADT 18.

Моят съвет е да направите резервно копие на всичко, преди да надстроите каквото и да било от Google, тъй като ние всички сме техни бета тестери.

person Barry Fruitman    schedule 04.06.2012

Windows 7, Eclipse Juno, използвайки ADT 22.2.1.

Оригиналният Proguard беше 4.6. Трябваше да надстроя до 4.10, за да разреша този проблем.

person Vaiden    schedule 03.10.2013