티스토리 뷰
http://proguard.sourceforge.net/
안드로이드는 애플리케이션 크기가 매우 중요하다. 그래서 배포 버전을 만들때 ProGuard를 사용한다. 이것은 매우 눈에 띄는 사이즈 축소를 볼 수 있다.
사용되지 않는 클래스, 필드, 메소드, 속성등을 찾아내어 없앤다.
사용법
- default.properties 에 다음의 내용을 추가
proguard.config=proguard.cfg
- proguard.cfg 파일 추가
처리 단계
Input jars | ||||||||
Shrunk code | ||||||||
Optim. code | Output jars | |||||||
- shrink → | - optimize → | - obfuscate → | Obfusc. code | - preverify → | ||||
Library jars | ------------------------- (unchanged) -------------------------→ | Library jars |
- shrinking step : 사용되지 않는 클래스, 필드, 메소드, 속성을 찾아내서 제거한다.
- optimization step : 메소드의 바이트코드를 분석하고 최적화한다.
- obfuscation step : 남아있는 클래스들은 재명명한다.
- preverification step : preverification 정보를 클래스에 추가한다. 이것은 JME 에서 필요하거나 Java 6의 start-up time 을 높인다.
댓글