Использует ли Android SDK преднамеренно старую версию ProGuard?

Я использую Android SDK Manager, чтобы обновлять все пакеты. Текущий (2014-03-05) Android SDK Tools — V22.6. Я проверил файл proguard.jar в C:\Program Files (x86)\Android\android-sdk\tools\proguard\lib и обнаружил, что его версия 4.7. Последняя версия ProGuard – 4.11. Версия 4.7 была выпущена в 2011 году. Есть ли веская причина для SDK использовать старую версию? Должен ли я обновлять ProGuard вручную?

Я слышал, что если proguard.jar обновить вручную, обновление SDK через Android SDK Manager перезапишет его. Любые разъяснения будут очень признательны.


person Hong    schedule 05.03.2014    source источник


Ответы (1)


Версия в Android SDK часто отстает. В настоящее время Android SDK содержит ProGuard 4.7, а подключаемый модуль Android Gradle ссылается на ProGuard 4.10 от Maven Central. Я обычно рекомендую использовать последнюю версию, особенно если вы включили оптимизацию и если вы столкнулись с какими-либо ошибками в более старых версиях.

(Я разработчик ProGuard)

person Eric Lafortune    schedule 08.03.2014
comment
Спасибо тебе за пояснение. Я вручную обновил три банки ProGuard, прежде чем увидел ваш ответ, и, наконец, заставил ProGuard работать для приложения после многочисленных попыток в прошлом году или около того. Я так рад видеть ваш ответ, который вселяет в меня уверенность в том, что, наконец, работает. Мне интересно, заменит ли в будущем Android SDK Tools старые банки. Сейчас я использую последнюю версию Android SDK Tools (22.6). - person Hong; 08.03.2014
comment
Привет, @Eric Lafortune, я использую файл Proguard.jar для деобфускации журнала сбоев. Должен ли я использовать Proguard.jar и retrace.jar static для всех версий SDK для компиляции Android или я должен переопределить обновленную вручную версию в любом файле Android Gradle? - person Gurmeet Singh; 26.02.2021