본문 바로가기

☆ 테마제작관련 ☆/테마제작강좌

[테마이식강좌] #1 테마 분석하기




[테마이식강좌]  #1 테마 분석하기

안녕하세요 Azdesign입니다.

이번 시간에는 #1 테마 분석하기 방법에 대하여 포스팅 하도록 하겠습니다.

<다른 테마사님들의 이식한 데이타는 배포 전 원작자의 동의를 얻은 후 배포하셔야합니다.>



가장 기본적으로 어떤 화일이 어떤부분에 적용되는지도 알아야겠죠??

그리고 능력자님들께서 배포한 화일을 보고 어떤 부분들이 바뀌었는지도 알아야겠죠^^

이미지만 바뀌었는지.. 소스가 바뀌었는지


이런한 부분들을 어떻게 확인하는지 이번 강좌에 소개해 드릴께요^^







#1 테마 구성화일 분석

 제가 배포한 테마기준으로 설명드리겠습니다.^^ [ 다운로드 받아서 압축풀어주세요]

2012/11/20 - [☆ 갤노트 테마공유 ☆] - [갤럭시노트 테마] SKT_UJ30 젤리빈 테마




아래 스샷과 같은 화일들을 확인 할 수 있습니다.


제가 배포해드린 jellybean.zip 화일은 테그라크 업데이트 집 소스와 테마화일이 같이 들어있습니다.

* 테마사님들께서 배포한 zip화일을 확인해보면 업데이트 집인지 업데이트 폴더인지 확인이 가능합니다.


테마화일들이 들어있는 system폴더를 살펴볼까요??


2개의 폴더와 하나의 화일이 있네요

framework폴더와 app폴더가 테마의 핵심부분입니다.

build.prop는 보통 Dpi수정에 많이 이용되고 다른 부분의 스크립 수정하여  바꿀 수 있는 부분들이 있습니다.




framework폴더와 app폴더의 화일들이 어떤 부분에서 사용되는지 설명해 드릴께요

(SKT 갤럭시노트 ICS기준, * 표시 : 소스수정 많이 되는 화일)




○ framework 폴더

     1) framework-res.apk * 

       - frame이라단어 답게 모든테마의 뼈대를 구성하는 화일입니다. 

         기기의 기본아이콘 및 테마구성화일과 락화면, Button, Color, Tap, List, Grid, Spinner, Dialog, Progress 등 

         기본적으로 들어가는 모든요소들이 들어있습니다.

        * 추 후 테마제작 강좌를 통해 HoloUI, style, theme등에 대한 강좌는 진행 하도록 하겠습니다.


   2android.policy.odex 

      - 가장 수정 부분이 많은 부분입니다. 멀티락,순정락, 4way 부팅, 홈딜패치등에 관련된 화일입니다.


   3framework.odex * 

      - framework의 odex부분으로 커스텀세팅 이식등에 사용되며 현재 제 테마에는 패턴락 굵기에 관련된 화일


   4framework2.odex * 

      - 허니컴 물력락을 수정 관련 화일


    

○ App 폴더


  1SystemUI.apk & SystemUI.odex 

      UI(user interface)가 들어간 퀵패널과 상단바를 모두 관여하는 화일입니다.

       테마제작 시 가장 중요한 화일이고 또한 가장 많은 수정을 하게 되는 화일입니다.


  TouchWiz30Launcher.apk 

      터치위즈에 관련된 내용수정입니다. 어플서랍설정 및 독바숫자 및 색상등 수정 관련화일


  3 Settings.apk 

       환경설정 창을 담당하는 화일입니다. 환경설정 들어가는 아이콘 및 아이템 추가등에 관련된 화일

         cpumonitor.apk, CPUspy.apk 어플 연결


  4Contacts.apk 

       다이얼러와 연락처 아이콘을 눌렀을때 나타는 UI를 결정 짓는 화일


  5 Phone.apk 

      통화키를 누른 이후 전화를 걸고 받을 때 나타는 UI를 결정 짓는 화일


  6 SEC_MMS_UI.apk

      메세지 아이콘 눌렀을때 나타나는 UI를 결정 짓는 화일


  7SamsungWidget_ProgramMonitor.apk 

       프로그램 모니터 UI 담당하는 화일 (Odex는 프로그램 모니터 색상 수정관련 화일)


  8 SecBrowser_SKT.apk

      인터넷 아이콘 및 인터넷창을 담당하는 화일


  9 AxT9IME.apk

      키패드(자판) UI를 결정 짓는 화일


 10SecCalendar.apk

       S플래너 관련 화일


 11SMemo.apk

      S메모 관련 화일


 12Snote.apk

      S노트 관련 화일


 13SecDownloadProvider.apk

     다운로드 받을때 일정부부 UI






#2 테마 분석방법

    원본과 달라진 화일만 테마사님이 배포하시니까 배포화일만 보면 수정된 화일은 확인가능하고 비교만 해보면됩니다.

    배포한 테마화일에 대한 모든 매칭 해당 펌웨어 원본화일을 준비한 후 비교해 주세요.

    그리고 아래와 같이 확장자 별로 비교를 해보시면됩니다.

    (예 SKT UH24테마화일 <==> SKT UH 원본화일)


 1) Apk 

     Apk manager로 디컴파일 해서 beyond compare 폴더비교 (소스가 수정되었는 확인)

     소스가 바뀐게 없으면 7zip으로 압축풀어서 비교/추출하여 알집으로 이미지 이식만 하면 됩니다. 


 2) Odex

     Deodex화 하여 dex압축풀어서 beyond compare 폴더비교 어느쪽에서 소스가 바뀌었는지 확인

     바뀐 소스를 자신의 펌웨어 부분과 매칭시켜서 적용 (이부분에는 많은 변수가 있습니다.)






요    약


1) 해당 펌웨어에서 원본 화일과 수정본 화일을 비교

2) 수정된 부분만 확인

3) 자기의 통신사펌웨어 부분에 적용



처음부터 타통신사의 데이타를 디컴파일해서 비교하게 되면 확인이 불가능한 부분이 많습니다.

그만큼 시행착오도 많이 격게 되니.. 해당펌웨어(해당 통신사)의 원본과 수정본을 먼저 비교해주세요








이상으로 #1 테마 분석하기 방법에 대하여 포스팅을 마치도록 하겠습니다.

<다시 한번 당부 부탁 드리는건 테마사님들의 이식한 데이타는 배포 전 원작자의 동의를 얻은 후 배포하셔야합니다.>