Sobes.tech
Junior

Mis on ProGuard?

sobes.tech AI

Vastus AI-lt

ProGuard on tasuta avatud lähtekoodiga tööriist Java baitkoodi vähendamiseks, optimeerimiseks ja obfuskatsiooniks. Android Studio kasutab seda vaikimisi release-ehituse režiimis, et parandada turvalisust ja vähendada APK/App Bundle suurust.

ProGuardi peamised funktsioonid:

  • Vähendamine: Eemaldab kasutamata klassid, väljad, meetodid ja atribuudid.
  • Optimeerimine: Analüüsib ja optimeerib baitkoodi, muutes selle tõhusamaks. Näiteks sisestab väikeseid meetodeid.
  • Obfuskatsioon: Nimetab klassid, väljad ja meetodid lühikesteks ja mõttetuteks nimedeks (näiteks a, b, c), mis raskendab koodi tagasivõtmist (dekompileerimist).
  • Eelkontroll: Lisab baitkoodile teavet, mis kiirendab JVM klasside laadimist.

ProGuardi konfiguratsioon toimub reeglite failide (näiteks proguard-rules.pro) kaudu; siin saab määrata, mida jätta muutumatuks (näiteks klassid, mida kasutatakse Manifest-failis, natiivsed meetodid, Parcelable ja Serializable klassid). Ilma nende reegliteta võib ProGuard eemaldada või ümber nimetada komponente, mis on vajalikud rakenduse õigeks toimimiseks.

ProGuardi tulemus on kompaktsem, tõhusam ja vastupidavam tagasivõtmise kood.