Proguard вернул код ошибки 1. (Неверный синтаксис имени файла, имени каталога или метки тома)

1

Я только что обновился до последнего ADT (19), и снова получаю жалобы от ProGuard, но на этот раз это хуже, чем обычно. Я прочитал десятки вопросов об этой ошибке, но на этот раз ни один из ответов не работает.

Когда я пытаюсь экспортировать подписанный APK, консоль говорит:

Proguard возвращается с кодом ошибки 1. См. Консоль

Ошибка: @C:\Users\Barry\AppData\Local\Temp\android_8523956309172274256.pro (неверно имя файла, имя каталога или тома)

Я подтвердил, что файл существует (я читал в другом месте @является частью сообщения об ошибке, а не частью имени файла). Я думаю, что эта ошибка жалуется на путь файла, а не на содержимое файла, но на всякий случай я включил содержимое ниже.

EDIT: Я подтвердил в документах ProGuard, что предполагается, что @. Это часть синтаксиса командной строки.

  • Я использую последнюю версию Proguard (4.8)
  • Я использую последний подключаемый модуль ADT Eclipse (18.0.0)
  • Я использую новейшие Android SDK Tools (19) и новейшие платформы Android SDK Platform Tools (11)
  • ProGuard не сообщает о каких-либо пропущенных классах (или что-то еще)
  • Я очистил и перестроил свой проект
  • Я использую 64-разрядную версию Windows 7

В прошлом я исправлял ошибки ProGuard после обновления ADT, изменяя параметр "% @" в proguard.bat, как рекомендует этот поток. Ошибка выше для меня совершенно новая. Я нашел только один отчет в этой теме, но плакат исправил его, обновив ProGuard 4.8. Мне не повезло. :(

Заранее спасибо...

EDIT: Когда я запускал ProGuard вручную с указанными входными банками, он сообщал о недостающих классах из-за отсутствия баннеров (хотя я никогда не видел этого в консоли). Проблема в том, что я до сих пор не знаю, почему ProGuard или ADT генерируют файлы.pro с отсутствующими банками, поскольку они находятся на моем пути сборки и работают с предыдущим ADT.

Содержание файла выше:

C:\Users\Barry\DEV\рабочей\MY-ПРОЕКТ\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\Support\Tools\annotations.jar

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

-libraryjars C:\Users\Barry\dev\android-sdk\platform\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 байтов.

  • 0
    В прошлый раз, когда у меня была эта проблема, я обновил ее до ProGuard 4.9 (ADT 21), чтобы решить ее. После обновления до ADT 22 проблема вновь возникла. После попытки в течение нескольких часов я понизил ProGuard до 4.8, и ошибка исчезла. Процесс сборки Android раздражает, нестабилен и, в конце концов, это всего лишь метод проб и ошибок. Я надеюсь, что они сделают это лучше с Android Studio и сборкой Gradle ...
Теги:
proguard

3 ответа

2

У меня была такая же проблема, как и вы. В результате я работал над обновлением версии proguard, упакованной с SDK android до 4.8. По какой-то причине proguard 4.7 был источником проблем.

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

Я использую ADT 20.0.3

0

Windows 7, Eclipse Juno, используя ADT 22.2.1.

Оригинальная Proguard была 4.6. Мне пришлось обновить до 4.10, чтобы решить эту проблему.

0

Хорошо, я решил это для себя. К сожалению, решение сводилось к ADT 18 и ProGuard 4.7. Как ни странно, даже ProGuard 4.8 дал ту же ошибку с ADT 18. Я почти уверен, что это ошибка в ADT. Возможно, это несовместимо с подключаемым модулем ADT Eclipse, который все еще находится в версии 18. Странно, что ADT 19 доступен через менеджера SDK, даже если загрузка SDK по-прежнему связана с ADT 18.

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

Ещё вопросы

Сообщество Overcoder
Наверх
Меню