Я загрузил proguard, инкапсулированный в zip файл, и распаковал его на свой жесткий диск. Я не устанавливал его каким-либо образом (потому что я не знал, как это сделать). Затем я добавил proguard.config=proguard.cfg
в файл project.properties. Затем я сделал "приложение для экспортных приложений", полностью ожидая, что затмение будет жаловаться, что оно не знает, где была моя установка для защиты, но жалобы не было. Действительно, в моем хранилище ключей появился новый файл apk, и в моем подпрограмме proguard приложения появился набор файлов (dump.txt и т.д.). Файл mapping.txt выглядит как хороший список отображений от моих длинных имен переменных до одной и двух буквенных переменных. Все это должно быть убедительным доказательством того, что proguard как-то сработало - моя единственная забота в том, что apk почти не меньше, чем раньше. Есть ли способ проверить, что apk включает obfuscations proguard?
Как узнать, выполнила ли Proguard свою работу
Ответ 1
Обычно размер будет указывать, работал ли ProGuard, но вы можете: -
Ответ 2
Альтернативой методу @Kuffs было бы сравнить ваш новый APK со старым. Откройте их обоих (с помощью 7zip или вашего предпочтительного инструмента) и сравните размер файлов classes.dex в каждом из них.
Несколько простых причин, по которым вы, возможно, не видите значительную экономию:
- Несоблюдение классов .dex удалось сжать гораздо больше, чем запутанное. Это всегда верно в некоторой степени.
- Вы не создали релиз. Proguard только запускается в сборках релизов, поскольку отладка запущенного кода - это кошмар.
- Настройки Proguard, которые вы используете, не приносят пользы (по крайней мере, с точки зрения размера кода) для вашего проекта. Я на самом деле видел, что настройки прокрутки кода proguard увеличивают размер файлов jar раньше!