정상에서 IT를 외치다

[Android, Proguard] 안드로이드 프로가드 설정하기 3 본문

안드로이드

[Android, Proguard] 안드로이드 프로가드 설정하기 3

Black-Jin 2020. 3. 13. 18:58
반응형

안녕하세요. 블랙진입니다.


프로가드에 사용하는 함수의 구체적인 역활에 대한 포스팅 입니다.


<프로가드 이전 포스팅>


프로가드 설정하기

프로가드 설정하기2

릴리즈 버전으로 컴파일 하기




출처 : Proguard manual



ProGuard(프로가드)


Shrinker(수축), Optimizer(최적화), Obfuscator(난독화) 적용하기 위한 Java Class File 입니다.



Shrinker


classes, fields, methods, attributes 찾아 사용하지 않은 것은 제거합니다.



Optimization 


메소드의 바이트코드를 분석하고 최적화 합니다.



Obfuscation


classes, fields, methods 의 이름을 재정의 합니다.




키워드


키워드 사진 및 내용 출처



- no rule



Proguard를 설정하면 classes와 members에 대해 shrink와 obfucate를 모두 진행합니다.



- keep



keep은 Proguard의 모든 장점을 적용하지 않습니다.



- keepclassmembers




- keepnames 




- keepclassmembernames





사용방법


Proguard manual


- keep class com.example.blackjin.**


//..



- keep class com.example.blackjin.** { *; }


blackjin 하위 모든 파일의 값을 keep 합니다.



- keep class * extends com.example.blackjin.Afile { *; }


Afile을 상속하는 클래스의 값을 keep 합니다.



- keep class * implements com.example.blackjin.Afile { *; }


Afile을 구현하는 클래스의 값을 keep 합니다.



- keep class * implements com.example.blackjin.Afile { <fields>; }


Afile을 구현하고 있는 파일의 field를 keep 합니다. 



- keep class * implements com.example.blackjin.Afile { private <fields>; }


Afile을 구현하고 있는 파일의 private field를 keep 합니다. 물론 public, static 등 모두 사용 가능합니다.



- keep class * implements com.example.blackjin.Afile { <methods>; }


Afile을 구현하고 있는 파일의 methods를 keep 합니다.

반응형
Comments