Sobes.tech
Junior

Kas yra ProGuard?

sobes.tech AI

Atsakymas iš AI

ProGuard yra nemokamas atviro kodo įrankis Java baitkodo mažinimui, optimizavimui ir obfuskacijai. Android Studio pagal nutylėjimą naudoja jį kaip išleidimo režimą, siekiant pagerinti saugumą ir sumažinti APK/App Bundle dydį.

ProGuard pagrindinės funkcijos:

  • Mažinimas: Pašalina nenaudojamas klases, laukus, metodus ir atributus.
  • Optimizavimas: Analizuoja ir optimizuoja baitkodą, padarydamas jį efektyvesnį. Pavyzdžiui, įterpia mažus metodus.
  • Obfuskacija: Pervardija klases, laukus ir metodus trumpais ir beprasmiais pavadinimais (pvz., a, b, c), tai apsunkina kodo atvirkštinį inžineriją (dekompilaciją).
  • Pre-verifikacija: Prideda informaciją prie baitkodo, pagreitinant JVM klasių įkėlimą.

ProGuard konfigūracija vykdoma per taisyklių failus (pvz., proguard-rules.pro), kuriuose galima nurodyti, ką palikti nepakitusią (pvz., klases, naudojamas manifeste, nativias metodus, Parcelable ir Serializable klases). Be šių taisyklių, ProGuard gali ištrinti arba pervardyti komponentus, būtinus teisingam programos veikimui.

ProGuard rezultatas — kompaktiškesnis, efektyvesnis ir apsaugotas nuo atvirkštinio inžinerijos baitkodas.