본문 바로가기

Mobile Development/Android

Apk Manager 안드로이드 APK 디컴파일-컴파일 하기 (5.0.2 버전 - ICS 가능)

http://blog.naver.com/PostView.nhn?blogId=chihun85&logNo=130141231043

Apk Manager 안드로이드 APK 디컴파일-컴파일 하기 (5.0.2 버전 - ICS 가능)  네이버 블로그

 

Apk_Manager_5.0.2_ics.zip

 

 



안드로이드 테마를 꾸밀 때 루팅 후 APK 파일을 수정해야 합니다.

뭐 단순히 테마뿐 아니라 여러 기능의 추가, 삭제를 위해서도 필요한 과정이죠.

이때에 필히 선행되어야 하는것이 디컴파일과 컴파일 입니다.


Compile / Decompile 이란 무엇인가? (컴파일 / 디컴파일 이란?)
먼저 컴파일은 프로그래머가 만든 프로그래밍언어를 컴퓨터가 이해하는 기계어로 바꾸어주는 과정이라면, 디컴파일은 이와 반대로 기계어를 c언어 혹은 기타 프로그래밍언로 바꾸어주는 역과정

여러 스마트폰 들이 ICS 업그레이드 후 Apk Manager 에서 컴파일 / 디컴파일이 잘 되지않는 문제가 생기고 있습니다. 그래서 오늘 준비한 건 - ICS 지원 되는 Apk Manager 5.0.2 입니다.


Apk 매니저를 통해서 컴파일 / 디컴파일 하기!


다운받은 압축 파일을 풀고 폴더를 열어보면 아래처럼 나옵니다.



위 그림에 대한 설명입니다.

  1. 번에 수정할 apk 확장자 파일을 넣는거에요.
  2. 번에는 1번 apk 파일이 디컴파일 되며 2번 projects 폴더에 들어갑니다.
  3. 번은 실행파일 입니다. apk manager 를 실행하기 위한 커맨드죠~


자 이제, Script.bat 실행하시고 아래 그림처럼 22번을 눌러줍니다.

place-apk-here-for-modding 폴더에 든 apk 파일중, 어떤걸로 작업할건지~ 

프로젝트를 선택해야 하는데, 바로 그 작업입니다.




전 SystemUI.apk 를 
place-apk-here-for-modding 폴더에 넣어서 

수정하려 했기에 하나만 보이네요.

여러개를 넣었다면 여러개가 보이고 앞에 숫자가 1, 2, 3, 이런식으로 붙는데 

원하는 파일을 선택하면 되요. 전 1을 선택합니다.



자 이제 어떤 파일을 수정할지 선택했고, 디컴파일 해서 프로그래밍 언어로 된 내부를

사람이 볼 수 있는 언어로 바꿔줄 차례!



위 처럼 9번, Decompile apk 누릅니다.



조금 시간 지나면~ Decompiling Apk 라고 뜨며 디컴 작업이 진행되는데요..

컴 상태에 따라서 시간이 좀 걸리거나 금세 되거나 다양합니다.

안좋은 PC 사양 이라면 좀 걸리겠죠 ㅎㅎ 보통 3분 안에는 끝날거에요~


 
완료 되면 Projects 폴더로 들어갑니다. 위 처럼 apk 파일에서 폴더로 디컴파일됬죠.
뭐 각종 수정 작업은 원하는데로 하시면 됩니다 이제.

폴더 내부로 들어가 xml 수정을 하거나 나인패치 이미지도 변경하고~

다 되셨으면 아래처럼 컴파일 시작~




11번을 눌러 컴파일 시작~



위 처럼 Building Apk 나오고.. 좀 시간이 흐른 뒤 완료됩니다.



아참, system apk 라고 물으면 n 눌러서 노우~! 라고 하시면 됩니다.

저건 y 누를 필요가 없는것 같아요. 시스템 폴더 앱 이라도. 시스템 앱 일지라도 y 를 누르면

괜스레 sign apk 가 되어버려 쓸 수 없으니 n 눌러주세요!

이제 다 됬으면 place-apk-here-for-modding 폴더로 들어가면 위 그림처럼 unsignedSystemUI.apk

처럼 unsigned 가 붙고 원본 파일명이 붙는 apk 가 생성됩니다.


요걸 압축 프로그램 으로 열어서 수정한 파일들을 원본 apk 파일을 열어서 덮어씌워 주는거죠.

(이미지야 그냥 덮어 씌우면 되는데 xml 은 resources.arsc 로 통합되므로 resources.arsc 파일을 원본에 덮어씌워 주시면 되겠네요.)


다 됬습니다. 이제 원하는 apk 파일을 이미지만 수정하는 게 아니라 xml 이나 9 patch (나인패치)

된 파일들도 수정할 수 있는 방법을 익혔네요. ;-)


강좌 따라오느라 수고 많으셨어요~