Sobes.tech
Junior

Какво е ProGuard?

sobes.tech AI

Отговор от AI

ProGuard е безплатен инструмент с отворен код за намаляване, оптимизация и обфускация на Java байткод. В Android Studio той се използва по подразбиране в режим на сборка за издаване, за да подобри сигурността и да намали размера на APK/App Bundle.

Основните функции на ProGuard:

  • Намаляване: Премахва неизползваните класове, полета, методи и атрибути.
  • Оптимизация: Анализира и оптимизира байткода, правейки го по-ефективен. Например, вгражда малки методи.
  • Обфускация: Преименува класове, полета и методи с кратки безсмислени имена (например a, b, c), което затруднява обратното инженерство (декомпилация) на кода.
  • Предварителна проверка: Добавя информация към байткода, която ускорява зареждането на JVM класове.

Настройката на ProGuard се извършва чрез файлове с правила (например proguard-rules.pro), където може да се посочи какво да се остави непроменено (например класове, използвани във файла Manifest, нативни методи, класове за Parcelable и Serializable). Без тези правила ProGuard може да изтрие или преименува компоненти, необходими за правилната работа на приложението.

Резултатът от ProGuard е по-компактен, по-ефективен и защитен от обратна инженерия байткод.