티스토리 뷰

프로그래밍/Android

[Tools] ProGuard

앙망 2011. 7. 28. 14:09
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 을 높인다.
댓글