android Пакет приложений и правила ProGuard выполняют ту же оптимизацию? - PullRequest
4 голосов
/ 10 февраля 2020

Есть ли разница между оптимизацией правил proguard и оптимизацией пакета приложений или это одно и то же? Кто-нибудь может объяснить, чем они отличаются?

Ответы [ 2 ]

3 голосов
/ 10 февраля 2020

Цель этого процесса совершенно иная. Android комплект приложений - это альтернативный формат распространения приложения для Android. Это похоже на создание apk (более раннего формата распространения приложения).

И Proguard - это бесплатная программа для сжатия файлов класса Java, оптимизатор, обфускатор и предварительный верификатор. Цель использования Progaurd:

  1. Shrinking - обнаруживает и удаляет неиспользуемые классы, поля, методы и атрибуты.
  2. Оптимизация - анализирует и оптимизирует байт-код методов.
  3. Запутывание - переименовывает остальные классы, поля и методы, используя короткие бессмысленные имена.
2 голосов
/ 10 февраля 2020

Когда вы загружаете комплект приложений в магазин воспроизведения, магазин воспроизведения сгенерирует новый apk на основе пользовательского устройства, предположим, что пользовательским устройством является xhdpi, сгенерированный apk by play store будет иметь только ресурсы xhdpi. Это не приведет к удалению неиспользуемого кода.

Где, как proguard удалит весь неиспользуемый код при создании apk. Он не удалит ресурсы с альтернативным разрешением.

...