Я только что обновился до последней версии 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 (19) и последние инструменты платформы Android SDK (11).
- ProGuard не сообщает об отсутствующих классах (или о чем-то еще)
- Я очистил и перестроил свой проект
- Я использую Windows 7 64-бит
Раньше я исправлял ошибки ProGuard после обновления ADT, изменяя параметр %@ в proguard.bat как рекомендует этот поток. Вышеупомянутая ошибка совершенно нова для меня. Я нашел только один другой отчет в этой теме, но плакат исправил это, обновив ProGuard 4.8. Мне не повезло. :(
Заранее спасибо...
EDIT: когда я запускал ProGuard вручную с указанными выше входными банками, он сообщал о пропущенных классах из-за отсутствующих банок (хотя я никогда не видел этого в консоли). Проблема в том, что я до сих пор не знаю, почему ProGuard или ADT генерируют файлы .pro с отсутствующими jar-файлами, поскольку они находятся на моем пути сборки и работали с предыдущим 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 байт.