Upgrade to Pro
— share decks privately, control downloads, hide ads and more …
Speaker Deck
Sign up for free
Menu
Search
Features
All features
Private URLs
Password Protection
Custom URLS
Scheduled publishing
Remove Branding
Restrict embedding
Deck Collections
Notes
Features
All features
Private URLs
Password Protection
Custom URLS
Scheduled publishing
Remove Branding
Restrict embedding
Deck Collections
Notes
Explore
Featured decks
Featured speakers
Programming
Technology
Storyboards
Explore
Featured decks
Featured speakers
Programming
Technology
Storyboards
Pricing
Search
Sign in
Sign up for free
ProGuard - O que é e porque utilizar
Search
Rodrigo Sicarelli
July 23, 2015
Technology
160
0
Share
Embed
Copy iframe code
Copy JS code
Copy link
Start on current slide
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
More Decks by Rodrigo Sicarelli
See All by Rodrigo Sicarelli
Melhores práticas para encontrar Crashes utilizando o CrashLytics
rsicarelli
2
180
Firebase para Desenvolvedores
rsicarelli
4
200
A importância de ter Lazy Clients - TDC 2016
rsicarelli
3
250
Acceptance test like a pro
rsicarelli
2
200
Erlang - Why?
rsicarelli
0
81
Android Support Library v23.2.0
rsicarelli
0
70
Other Decks in Technology
See All in Technology
Confitura 2026
logico_jp
0
110
プラットフォームを「作る」、 チームに「入り込む」
sansantech
PRO
0
400
Mastering Agentic Development: Harness Engineering for Effective Coding Agents
konippi
3
660
KanaAI
shreyas1009
0
130
「今盗んで、後で解く」に備える ― AWSのポスト量子暗号入門
yama3133
2
280
Antigravity SDK for the Java Developer
glaforge
0
240
IR Today: Theory, Practice, and Agents
dtunkelang
0
270
【Findyテック文化祭ワークショップ】新卒エンジニア&採用担当と作る、 なりたい姿と今やるべき一歩
dip_tech
PRO
0
150
AWS FinOps Agent 結局何が得意なの?
siromi
0
220
AIに書かせて、プラットフォームで縛る ― EKSプラットフォームで実践した責任境界と権限設計
elmodev09
1
1.1k
Incremental HTTP
kazuho
4
1.6k
HolmesGPTで始めるSREエージェント入門!プラットフォームの障害調査はAIにお任せ 〜
sanghyuk
0
250
Featured
See All Featured
AI in Enterprises - Java and Open Source to the Rescue
ivargrimstad
0
1.5k
Typedesign – Prime Four
hannesfritz
42
3.2k
Bootstrapping a Software Product
garrettdimon
PRO
306
120k
Leveraging Curiosity to Care for An Aging Population
cassininazir
1
520
SEO in 2025: How to Prepare for the Future of Search
ipullrank
3
3.8k
We Are The Robots
honzajavorek
0
380
Tips & Tricks on How to Get Your First Job In Tech
honzajavorek
1
780
The Hidden Cost of Media on the Web [PixelPalooza 2025]
tammyeverts
2
510
Prompt Engineering for Job Search
mfonobong
0
460
Leading Effective Engineering Teams in the AI Era
addyosmani
9
2.7k
Designing for Timeless Needs
cassininazir
1
510
Creating an realtime collaboration tool: Agile Flush - .NET Oxford
marcduiker
35
2.6k
Transcript
O que é e por que utilizar ProGuard
Android Developer @EasyTaxi +RodrigoSicarelli2 github.com/sicachester/weather-guard
None
Otimizando sua aplicação com o ProGuard O que é o
ProGuard? Como funciona Shrinker, Optimizer & Obfuscator Como utilizar em seu projeto
O que é o ProGuard? Genérico Para Java bytecode Shrinker,
optimizer & obfuscator Existe desde 2002 2010 se tornou parte do Android SDK
Como funciona Processed Code Shrink Optimize Obfuscate Android Runtime Application
code Libraries Android Runtime
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
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
Shrinking
Shrinking Também chamado de tree shaking, minimizing, shrouding
Shrinking Classe Classe
None
Entry points
getDefaultProguardfile('proguard-android.txt'),'my-rules.pro' Android Play services
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
None
None
None
Obfuscating
None
Obfuscating Renomeação: classes/métodos/atributos Remoção de informação de debug: número de
linha, variáveis locais, etc.
None
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
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
Como habilitar
Just do it!
Android Developer @EasyTaxi +RodrigoSicarelli2 github.com/sicachester/weather-guard
[email protected]
Obrigado!