Sobes.tech
Junior

O que é o ProGuard?

sobes.tech IA

Resposta da IA

ProGuard é uma ferramenta gratuita de código aberto para reduzir, otimizar e ofuscar o bytecode Java. No Android Studio, é usado por padrão no modo de compilação release para melhorar a segurança e reduzir o tamanho do APK/App Bundle.

Principais funções do ProGuard:

  • Redução: Remove classes, campos, métodos e atributos não utilizados.
  • Otimização: Analisa e otimiza o bytecode, tornando-o mais eficiente. Por exemplo, incorpora métodos pequenos.
  • Ofuscação: Renomeia classes, campos e métodos com nomes curtos e sem sentido (por exemplo, a, b, c), dificultando a engenharia reversa (descompilação) do código.
  • Pré-verificação: Adiciona informações ao bytecode que aceleram o carregamento das classes JVM.

A configuração do ProGuard é feita através de arquivos de regras (por exemplo, proguard-rules.pro), onde pode-se indicar o que deixar intacto (por exemplo, classes usadas no arquivo Manifest, métodos nativos, classes para Parcelable e Serializable). Sem essas regras, o ProGuard pode remover ou renomear componentes necessários para o funcionamento correto da aplicação.

O resultado do ProGuard é um bytecode mais compacto, eficiente e protegido contra engenharia reversa.