반응형
Proguard
- 코드 난독화 및 APK 최적화를 위한 도구
왜 필요한가?
- 코드 난독화를 통해 디컴파일시 본인의 코드가 노출되는 것을 방지
- 불필요한 메서드를 제거하여 멀티덱스를 피할 수 있다.
MultiDex?
- 안드로이드 앱을 구성하는 코드는 컴파일 되어 덱스(Dex) 파일로 만들어 진다.
- 하나의 덱스 파일은 최대 65536개 의 메소드만 참조 할 수 있다.
- 만약 프로젝트의 코드가 65536개의 메소드를 초과하면 여러 개의 덱스파일 이 생성된다.
- 멀티 덱스를 사용하여 컴파일 할 수 있지만, 빌드 과정에서 앱 내의 파일을 여러 덱스파일로 나누어야 하므로 빌드 속도가 느려지고 APK의 용량이 커진다.
Proguard 와 Non-Proguard 비교하기
디컴파일러 : jadx v0.9.0
사진 위에 걸린 링크를 통해 들어간 페이지를 조금 내리면 위 사진과 같은 부분이 나온다.
zip 파일 안에 gui 파일까지 있으니 zip 파일만 다운 받으면 된다.
Non-Proguard >>>>
1. 임의의 어플리케이션을 Build APK 한다.
2. Event log를 따라서 apk 파일을 확인한다.
3. 다운받은 jadx-gui 파일을 실행한다.
4. apk 파일을 열어준다.
5. 디컴파일된 자바 소스 코드를 확인한다.
Proguard >>>>
1. App - build.gradle(Module:app) 확인한다.
2. 빌드 타입을 디버깅과 릴리즈 버전으로 나눈 후 Sync Now 한다.
디버깅 버전과 릴리즈 버전으로 나누어서 프로가드를 하는 것이 좋다.
3. 디컴파일된 자바 소스 코드를 확인한다.
반응형
'Android Developer' 카테고리의 다른 글
[Android] Log (0) | 2019.07.10 |
---|---|
[Android] Activity의 LaunchMode (0) | 2019.07.10 |
[Android] OpenSource, ButterKnife, Firebase (0) | 2019.05.02 |
[Andoird] GIF를 이용한 Splash Activity 만들기 (0) | 2019.04.12 |
[Android] Android Design Pattern (0) | 2019.04.09 |