Junior
Co je ProGuard?
sobes.tech AI
Odpověď od AI
ProGuard je bezplatný open-source nástroj pro zmenšení, optimalizaci a obfuskaci Java bytekódu. V Android Studiu je standardně používán v režimu release sestavení ke zvýšení bezpečnosti a zmenšení velikosti APK/App Bundle.
Hlavní funkce ProGuard:
- Zmenšení: Odstraňuje nepoužívané třídy, pole, metody a atributy.
- Optimalizace: Analyzuje a optimalizuje bytekód, čímž jej činí efektivnějším. Například vkládá malé metody.
- Obfuskace: Přejmenovává třídy, pole a metody na krátké nesmyslné názvy (například
a,b,c), což ztěžuje reverzní inženýrství (dekompilaci) kódu. - Preverifikace: Přidává informace do bytekódu, které urychlují načítání JVM tříd.
Konfigurace ProGuard se provádí přes pravidlové soubory (například proguard-rules.pro), kde lze určit, co ponechat nedotčené (například třídy používané v manifestu, nativní metody, třídy pro Parcelable a Serializable). Bez těchto pravidel může ProGuard odstranit nebo přejmenovat komponenty potřebné pro správnou funkci aplikace.
Výsledkem práce ProGuard je kompaktnější, výkonnější a proti reverznímu inženýrství chráněný bytekód.