Sobes.tech
Junior

Mi az a ProGuard?

sobes.tech MI

Válasz az MI-től

ProGuard egy ingyenes nyílt forráskódú eszköz a Java bájtkód csökkentésére, optimalizálására és obfuszkálására. Android Studio-ban alapértelmezés szerint a release build módban használják a biztonság növelése és az APK/App Bundle méretének csökkentése érdekében.

A ProGuard fő funkciói:

  • Kicsinyítés: A nem használt osztályokat, mezőket, metódusokat és attribútumokat eltávolítja.
  • Optimalizálás: Elemzi és optimalizálja a bájtkódot, hatékonyabbá téve azt. Például beágyazza a kis metódusokat.
  • Obfuszkálás: Rövid és értelmetlen nevekre (pl. a, b, c) nevez meg osztályokat, mezőket és metódusokat, megnehezítve a kód visszafejtését (dekompilálását).
  • Előellenőrzés: Információt ad hozzá a bájtkódhoz, ami gyorsítja a JVM osztályok betöltését.

A ProGuard konfigurálása szabályfájlokon keresztül történik (pl. proguard-rules.pro), ahol meg lehet határozni, mit hagyjunk érintetlenül (pl. a Manifest fájlban használt osztályokat, natív metódusokat, Parcelable és Serializable osztályokat). Ezek nélkül a szabályok nélkül a ProGuard törölheti vagy átnevezheti azokat az összetevőket, amelyek szükségesek az alkalmazás helyes működéséhez.

A ProGuard eredménye egy kompaktabb, hatékonyabb és visszafejtés elleni védelmet nyújtó bájtkód.