Sobes.tech
Junior

Cos'è ProGuard?

sobes.tech AI

Risposta dell'AI

ProGuard è uno strumento open-source gratuito per ridurre, ottimizzare e offuscare il bytecode Java. In Android Studio, viene utilizzato di default in modalità di compilazione release per migliorare la sicurezza e ridurre la dimensione di APK/App Bundle.

Funzioni principali di ProGuard:

  • Riduzione: Rimuove classi, campi, metodi e attributi non utilizzati.
  • Ottimizzazione: Analizza e ottimizza il bytecode, rendendolo più efficiente. Ad esempio, incorpora metodi piccoli.
  • Offuscamento: Rinomina classi, campi e metodi con nomi corti e senza senso (ad esempio, a, b, c), rendendo più difficile l'ingegneria inversa (decompilazione) del codice.
  • Pre-verifica: Aggiunge informazioni al bytecode che velocizzano il caricamento delle classi JVM.

La configurazione di ProGuard si effettua tramite file di regole (ad esempio, proguard-rules.pro), dove si può indicare cosa lasciare intatto (ad esempio, classi usate nel file Manifest, metodi nativi, classi per Parcelable e Serializable). Senza queste regole, ProGuard può eliminare o rinominare componenti necessari per il corretto funzionamento dell'app.

Il risultato di ProGuard è un bytecode più compatto, efficiente e protetto contro l'ingegneria inversa.