Chi programma in ambiente Java o Android avrà già sicuramente sentito parlare di Proguard, un tool per l’ottimizzazione del codice che si basa sullo “snellimento” del bytecode prodotto in compilazione.
Proguard svolge le seguenti attività:
- restringe il codice, ripulendolo da classi, metodi e variabili non utilizzati;
- offusca il software prodotto eliminando informazioni di debug introdotte appositamete per il testing, ma che in ambito di produzione non servono e possono anche costituire un possibile appiglio per la decompilazione ed il reverse engeneering volti a risalire al codice sorgente dell’app;
- infine, ottimizza il codice, e questo è un elemento complementare ai precedenti in quanto in molti casi Proguard riesce a sostituire le istruzioni presenti nel bytecode con altre più efficienti.
Il risultato finale sarà, in pratica, un APK più snello e meno decompilabile. Nei progetti Android Studio, l’integrazione di Proguard è già predisposta. All’interno del file build.gradle del modulo applicativo troviamo un blocco di questo tipo:
buildTypes {
release {
minifyEnabled false
proguardFiles getDefaultProguardFile('proguard-android.txt'), 'proguard-rules.pro'
}
}
dove:
- si specifica che tali direttive valgono solo per la versione release del pacchetto: ciò permetterà di continuare a “debuggare” normalmente il codice;
- basta impostare a true il valore della proprietà minifyEnabled per attivare lo snellimento del prodotto finale;
- vengono passati altri nomi di file in cui saranno presenti ulteriori direttive di Proguard.
Per realizzare app di successo, non basta quindi creare ottimo codice funzionale e dotato di interfacce intuitive: serve ottimizzare il proprio lavoro e proteggerlo da usi non autorizzati e Proguard è una buona soluzione, ricca di tante funzionalità e pronta all’uso in Android Studio.
Alla prossima!











No Responses to “Proguard: ottimizza codice e risorse della tua applicazione Android”