개발을 진행하다보면 실제 컴파일한 apk파일을 디컴파일해야하는 경우가 종종있다.
그때마다 여러 블로그를 돌아다니면 정보를 줍줍하는게 너무 힘들고 죄송스러워 바로 오늘!
내 블로그에 포스팅하고자 한다.
먼저 코드 디컴파일 방법이다.
apk내 코드 디컴파일을 위해서는 우리는 'dex2jar'라는 파일과 'jd GUI' 파일을 구비해야할 필요가 있다.
해당 파일은 아래 링크에서 받을 수 있다.
Dex2jar
https://github.com/pxb1988/dex2jar
해당 경로에 들어가면 아래 그림과 같은 항목이 있고 이중 두번째 항목을 눌러 파일을 다운받는다.
JD GUI
http://jd.benow.ca/%20jd-gui-0.3.5.osx.i686.dmg%20jd-gui-0.3.6.windows.zip
자 이제 그럼 준비가 끝났다.
그럼 이제 디컴파일을 해보자.
방법은 쉽다. 이것 저것 설정하면 더 쉽겠지만, dex2jar폴더에 apk파일을 복사하고 진행하면 다른거 신경안쓰고 진행할 수 있다.
명령어는 간단하다.
.\d2j-dex2jar.bat {apk 또는 dex파일}
필자는 윈도우 기반에서 작업했기 때문에 명령어는 위와 같이 진행했으며, OS별로 명령어는 상이하지 않을까 생각한다.
여기까지 따라왔다면 90%정도는 되었다고 생각하면 된다.
이제 디컴파일된 jar파일을 jd를 통해서 열어보기만 하면된다.
jd는 아까 경로에서 다운받아놨다고 생각하고 이후 내용을 진행한다.
다운받은 경로를 들어가면 아래 그림과 같이 파일들이 있고 그중 'jd-gui.exe'를 클릭한다.
jd-gui.exe를 클릭하면 아래와 같은 화면이 뜨게 되는데, 그럼 아까 디컴파일한 jar파일을 jd에 끌어다 놓으면 끝난다.
리소를 디컴파일 방법은 다음 포스트에 정리한다.
'안드로이드 > 일반' 카테고리의 다른 글
[Android] 데이터 객체전달? 이제 Parceler로 쉽게 구현하세요 (1) | 2018.04.25 |
---|---|
[Android] Json? String? 이젠 쉽게 컨버팅하자! (0) | 2018.04.15 |
[Android] Apk파일 디컴파일 방법 두가지! (2/2) (0) | 2018.02.24 |
[Android] AudioFocus 처리 (2) | 2018.02.21 |
[Android] 안드로이드 볼륨조절버튼 클릭시 특정 타입으로 고정하기 (0) | 2018.02.14 |