ProGuard est un outil de ligne de commande open source qui réduit, optimise et obscurcit le code Java . Il est capable d'optimiser le bytecode ainsi que de détecter et de supprimer les instructions inutilisées . ProGuard est un logiciel libre et est distribué sous la licence publique générale GNU , version 2.
ProGuard a été distribué dans le cadre du SDK Android et a été exécuté lors de la création de l'application en mode publication .
Caractéristiques
- Optimisations au niveau du bytecode ;
- Fonctionne également avec Java Micro Edition et Android ;
Méthode d'obscurcissement
ProGuard obscurcit les programmes Java et Android en renommant les classes , les champs et les méthodes à l'aide de noms dénués de sens (une implémentation de la sécurité par l'obscurité ), ce qui rend plus difficile la rétro-ingénierie de l'application finale.
Optimisation
En plus de supprimer les instructions inutilisées du bytecode compilé , ProGuard l'optimise à l'aide de techniques telles que l'analyse du flux de contrôle , l'analyse du flux de données , l'évaluation partielle , l'affectation unique statique , la numérotation de valeur globale et l'analyse de vivacité .
ProGuard peut supprimer de nombreux types de codes inutilisés et dupliqués, effectuer plus de 200 optimisations de judas , réduire l'allocation de variables , les méthodes constantes et courtes en ligne , simplifier les appels de récursivité de queue , supprimer le code de journalisation , entre autres.