Upgrade to Pro — share decks privately, control downloads, hide ads and more …

ProGuard - O que é e porque utilizar

ProGuard - O que é e porque utilizar

Com pouco esforço, melhore substancialmente o tamanho e a qualidade do seu aplicativo

Rodrigo Sicarelli

July 23, 2015
Tweet

More Decks by Rodrigo Sicarelli

Other Decks in Technology

Transcript

  1. Otimizando sua aplicação com o ProGuard O que é o

    ProGuard? Como funciona Shrinker, Optimizer & Obfuscator Como utilizar em seu projeto
  2. O que é o ProGuard? Genérico Para Java bytecode Shrinker,

    optimizer & obfuscator Existe desde 2002 2010 se tornou parte do Android SDK
  3. Android builds Android Asset Packaging Tool Assets XML Res Application

    Java source Libraries Java bytecode Assets Compiled XML Res Dalvik bytecode Application Java source Application Java bytecode Libraries Java bytecode Proguard
  4. Por que utilizar? Redução do tamanho de sua aplicação Performance

    Remover código de Log, Debug ou códigos de teste Proteção
  5. Remoção de código morto Propagação de constantes Métodos "inline" Merging

    de classes Remoção de logs Otimizações peephole Desvirtualização de métodos ... Optimization
  6. tamanho das classes.dex tamanho do .apk final Original ProGuard Redução

    Original ProGuard Redução ApiDemos 716 kb 482 kb 33 % 2.6 mb 2.5 mb 4 % GoogleIO 3.4 mb 905 kb 75 % 1.9 mb 906 kb 53 % EasyTaxi Driver 7.5 mb 3.7 mb ~ 50 % 5.9 mb 4.5 mb ~ 24 % EasyTaxi Passenger 7.9 mb 2.9 mb ~ 64 % 8 mb 6.2 mb ~ 23 % Redução da aplicação
  7. Original ProGuard Sieve score 6.833 6.666 Loop score 14.831 15.473

    Logic score 19.038 47.840 String score 7.694 7.717 Float score 6.425 6.488 Method score 4.850 5.229 Score total 8.794 10.436 + 18% Performance