본문 바로가기
프로그래밍 놀이터/안드로이드, Java

난독화 ( proguard ) 에 대한 고급정보.

by 돼지왕 왕돼지 2014. 5. 30.
반응형


 난독화 ( proguard ) 에 대한 고급정보.

 

난독화 ( proguard ) 에 대한 고급정보.


-

proguard option 에


-printusage unused.txt


를 추가해주면, 사용하지 않는 코드들이 출력되어 유지보수에 좋다.




-

optimization 하는 옵션을 줄 수도 있지만,

optimization 은 Dalvik version 에 따라 호환이 안 되는 경우가 있어 함부로 쓰지는 않는 것이 좋다.




-

open source library 의 경우는 obfuscate(난독화) 할 필요가 없다.

이미 open 된 소스들이기 때문이다.

이럴 경우 아래와 같은 코드를 추가해주면, build time 을 줄일 수 있다.


-libraryjars libs

-keep class android.support.v4.app.** { *; }

-keep interface android.support.v4.app.** { *; }




-

Reflection 은 performance 나 API change 등에 취약하여 사용권장 되지 않는다.

하지만 Unit test 에는 좋다.

게다가 Proguard 를 사용하면 string 값은 변하지 않지만 function name 등은 변하기 때문에 주의해야 한다.

Method not found exception 을 뿜기 쉽다.




-

이미 proguard ( 난독화 ) 가 적용된 코드를 한번 더 난독화 시키면

mapping 파일을 두번 trace 해야 해서 좋지 않다.

Custom Progaurd Rule 도 확실히 이해한 것이아니면 사용하면 안된다.






반응형

댓글