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