Intereting Posts
CharSequence to int Могу ли я получить контрольный тест, чтобы убить и перезапустить процесс приложения? Как интегрировать платежный шлюз ATOM в моем приложении? Поля LinearLayout, программно с dp Stop scrollView в середине прокрутки RecyclerView не обновляется после NotifyDataSetChanged (), содержимое отображается после включения и выключения экрана. Хочу показывать admist interstitial при запуске приложения RelativeLayout с MATCH_PARENT не работает Android Home As Up Индикатор имени файла или местоположения «Кордоба-платформа add android» терпит неудачу с неожиданной ошибкой Действительно ли React действительно поддерживает Android-фрагменты? Имитация кнопки питания для отображения диалогового окна выключения Java.lang.RuntimeException: Невозможно создать экземпляр приложения: ClassNotFoundException (только на устройстве архитектуры X86) Проблема для удаления пункта меню NavigationView выбранного цвета? Анимация MediaRouteButton при подключении к приложению

Как узнать, выполнила ли Proguard свою работу

Я загрузил proguard, инкапсулированный в zip-файл, и распаковал его на свой жесткий диск. Я не устанавливал его каким-либо образом (потому что я не знал, как это сделать). Затем я добавил proguard.config=proguard.cfg в файл project.properties. Затем я сделал «экспортное приложение для Android», полностью ожидая, что затмение будет жаловаться, что оно не знает, где моя установка для защиты, но жалобы не было. Действительно, в моем хранилище ключей появился новый файл apk, и в моем подпрограмме proguard моего приложения появился набор файлов (dump.txt и т. Д.). Файл mapping.txt выглядит как хороший список отображений от моих длинных имен переменных до одной и двух буквенных переменных. Все это должно быть убедительным доказательством того, что proguard каким-то образом сработало – моя единственная забота заключается в том, что apk едва ли меньше, чем раньше. Есть ли способ проверить, что apk включает обфускации proguard?

Обычно размер будет указывать, работал ли ProGuard, но вы можете: –

  1. Используйте Dex2Jar для преобразования apk в файл jar
  2. Откройте полученный Jar-файл с Jd-Gui, чтобы просмотреть код, который он содержит.

Альтернативой методу @Kuffs было бы сравнить ваш новый APK со старым. Откройте их обоих (с помощью 7zip или вашего предпочтительного инструмента) и сравните размер файлов classes.dex в каждом из них.

Несколько простых причин, по которым вы, возможно, не заметили значительную экономию размеров:

  • Несвободные классы.dex могли быть сжаты намного больше, чем запутанный. Это всегда верно в некоторой степени.
  • Вы не сделали сборку релизов. Proguard только запускается на сборках релизов, поскольку отладка запущенного кода – это кошмар.
  • Настройки Proguard, которые вы используете, не очень полезны (по крайней мере, с точки зрения размера кода) для вашего проекта. Я на самом деле видел, что настройки встроенного кода proguard увеличивают размер файлов jar раньше!