테마이식을 위한 첫단계 테마파일 분석하기 [젤리빈]

2013.08.05 11:30





테마이식 제작자의 테마파일을 분석에서 부터

테마이식에 앞서 테마사님들이 배포하는 테마파일 분석 부터 해야합니다. 처음 부터 모든걸 알 수는 없지만 적어도 Framework폴더와 App폴더안에 있는 중요파일이 담당하는 부분이 어느부분인지 알고 있어야 테마이식하는 시간이 단축될 수 있습니다. 꼭 필요없는 부분은 제외하거나 필요한 부분을 추가하는 작업은 테마파일의 역할을 알 때 가능합니다. 포스팅내용 읽다 보시면 각 파일의 역할에 대해 링크 포스팅을 참조해주시고.오늘 어떠한 방식과 과정을 통해서 테마를 분석하고 이식하는 하는지에 대해 설명해 드리도록 하겠습니다.









자료 포스팅 하는데 힘이 될 수 있도록

ViewOn 손가락 버튼 꾹 눌러주세요.

(로그인 안하셔도 됩니다)







통합테마 update.zip의 정체

테마제작자들은 간단 파일일경우에는 간단하게 해당 Apk or Odex 파일을 공유하게되는데 한 두개 파일이라면 이렇게 배포해도 사용자는 큰 불편함 없이 적용할 수 있습니다. 


하지만 파일 수가 50개 이상이 된다면 모든파일의 퍼미션을 일일이 줘야한다고 생각해보세요. 


테마를 제작하는 것도 힘들지만 유저는 적용하다가 쓰러질지도 모릅니다. 그래서 CWM or Tegrak Upadate.zip으로 배포하게 됩니다. 이 Update.zip파일은 리커버리모드에서 한방에 적용이 될 수 있습니다.

파일구조는 단순며 스크립트까지 들어갈 수 있어 갈 수 있습니다.

이 스크립트를 통해 파일의 퍼미션 변경, 파일 추가, 파일 삭제등 테마를 적용하는 사람이 해줘야할 작업이 업데이트집을 통해 한방에 적용이 가능하게 됩니다. 호텔 룸써비스처럼 찾아가는 서비스가 됩니다.


통합파일 update.zip파일 안에 있는 updater-script가 핵심이 되는 파일인데 넣을건 넣고 뺄껀 뺄수가 있어서 불필요한 파일삭제(좀비어플), 어플 추가및 퍼미션등을 명령어 몇 줄로 표현이 가능합니다.


제가 젤리빈OS에서 배포해드린 V3최종 버젼기준을 설명해 드릴께요. (기능통합 V3버젼 링크)

첨부된 Update.zip 파일 압축을 풀어보신 후 폴더안을 확인해 보세요.


폴더 안에는 META-INF라는 폴더와 System폴더 두개가 존재합니다.

META-INF폴더에는 updater-script가 있습니다. 이 파일은 같이 들어있는 System 폴더의 설치되는 모든 부분을 제어하게 됩니다. updater-script는 다음시간에 이야기하도록 하고 테마자료인 System 폴더의 내부를 살펴보도록 하겠습니다.


폴더 안을 보시면 예전 통합테마와 달리 거의 펌웨어와 같은 폴더들이 존재합니다. 이 폴더들은 대부분 기능테마를 위한 폴더가 많고 테마제작 중요폴더는 Framework와 App폴더입니다. 그리고 추가로 Dpi 수정과 카메라 무음등과 각종 스크립을 추가할 수 있는 Bulid.pro입니다. 오늘은 테마관련 내용만 다룰께요.



테마이식을 위한 통합테마 System폴더 살펴보기

제가 배포해드린 통합테마의 System폴더안의 Framework / App폴더 내부 모습입니다.

정말 많은 apk와 odex를 볼 수 있습니다. 아래 해당되는 내용을 배포자가 아닌 이식하는 분이 다 이해하기는 힘듭니다. 이건 배포자에게 의뢰해서 알아보시는게 가장 편하합니다. 


Framework 폴더 내부



App 폴더 내부


복잡해 보이시겠지만 기본적으로 순정데이타에서 수정된 파일들 위주로 테마제작을 하시면 됩니다. 각 파일이 어떠한 기능을 하는지에 대해서는 테마분석 포스팅을 참조해주세요.[기능테마 파일 기능자료 보러가기]



순정펌웨어에서 추가적으로 설치된 파일은 기능테마가 대부분입니다. 그럼 어떻게 순정펌웨어 추가된 테마파일과 기능테마로 추가된 파일을 알아볼 수 있을까요?



테마이식을 위한 순정펌웨어와 달라진 파일 확인하기

모든 작업은 순정펌웨어에서 부터 시작해드리는걸 추천해드립니다. 배포된 자료를 재가공하시는 것보다는 순정기준으로 해주시는게 처음에는 많은 걸 배울 수  있습니다. 



이렇게 복작하고 많은 파일을 어떻게 구분해 낼까요?

이건 이전에 소개해 드린 Beyond Compare로 비교가 가능합니다.

(Beyond Compare 사용법 보러가기)




우선 비교 대상인 순정 펌웨어에서 추출된 System폴더가 있어야합니다. 그럼 통합파일에서 압축을 해제한 파일과 순정펌웨어를 Beyond Compare로 비교를 해보겠습니다.[좌측에는 순정펌웨어, 우측에는 통합파일]



비교 하는 방법은 이전 포스팅에서 설명해드렸으니 생략하고 좌우측을 보시면 달라진 순정펌웨어 대비 달라진 파일이 붉은 색 폴더로 표시가 됩니다. app폴더와 framework폴더가 테마 수정파일이니 Framework폴더를 비교해보겠습니다. [Show No Orphans 비교]


우측에 테마파일 중 순정펌웨어와 같은 파일은 회색으로 달라진 파일은 붉은색으로 표현이 됩니다.

그럼 붉은색으로 표시된 부분들을 디컴퍼일하셔서 서로를 비교해주신 후 매칭작업을 해주시면 됩니다.




그럼 순정파일을 디컴파일/테마파일 디컴파일 해서 비교해볼까요? [아래강좌 참조]

[☆ 테마제작관련 ☆/테마제작강좌] - [APK Manager] Compile & Decompile 강좌 #1



우선 가장 복잡한 부분인 framework-res.apk 파일을 디컴파일 해서 비교해볼께요. 파일 비교만 하실 때는 modding폴더에 순정에는 해당펌웨어 me-3을 넣어주시고 테마파일에는 theme을 넣어주시는게 보기 좋겠죠?



두 개의 파일을 디컴파일 하신 후에 project폴더를 Beyond로 비교해보세요.


두 개의 파일을 디컴파일 하신 후에 project폴더를 Beyond로 비교해보세요.

우측에 붉은색 폴더는 소스 수정만, 파란색과 빨간색이 반반인 폴더는 소스 추가된 표시입니다.

모든 부분을 다 똑같이 해주는건 아닙니다. 붉은 색으로 표시한 부분만 확인해 주세요.

Value-xx는 대부분 무시해주셔도 됩니다. [인터넷 강종관련 부분은 있지만 이부분 잠시 생략]


그리고 이미지 변경된 부분은 잠시 무시해버리세요. "xml에서 소스가 수정된 부분만 확인"해 주시면 됩니다. 이미지 변경 부분은 무시하시고 추가되는 파일만 확인해주세요.




그럼 이미지는 우선 추가 파일만 신경쓰고 xml소스가 가장 많이 변경되는 Layout부분을 볼까요?


많은 기능이 들어가다 보니 추가 xml(파란색)이 많습니다. 이렇게 추가된 xml은 타기종에 그대로 넣어서 테스트하게됩니다. id관련 부분이나 통신사관련 부분은 오류가 생길 때 확인하시면 됩니다.

그리고 소스를 변경해야할 빨간색 부분은 떠블클릭해보시면 틀린부분을 확인 할실 수 있습니다.



 여기까지가 이식을 위해 대상파일 분석하는 방법입니다. 그럼 이렇게 많은걸 언제 다 수정하는지 한숨부터 내쉴텐데요. 조금만 해보시면 생각보다는 빨리 진행하실 수 있습니다. 그리고 테마의 메인이 되는 부분은 framework-res.apk, SystemUI.apk, SecContacts.apk부분 입니다. Odex는 대부분 기능테마관련 입니다. 



다음 시간에는 소스를 어떻게 수정하고 이식한지 포스팅을 진행할께요.

테마이식 어렵게 생각 들겠지만 한번만 쉬운것부터 시작한다면 금방 노하우를 터득하게 됩니다.

긴 포스팅 읽어주셔서 감사합니다.^^





이상으로  테마이식을 위한 첫단계 테마파일 분석하기 [젤리빈]  포스팅을 마치도록하겠습니다.





포스팅 내용이 유익하셨다면 아래 ViewOn버튼 꾹 눌러주시고 

응원의 댓글 부탁드립니다.^^


조금이나마 테마작업하는데 도움이 되어드리고자 포스팅 하고 있는  Azdesign™ 입니다.^^






* 필  독 *

- 블로그내 모든 포스팅 내용 도용 및 2차배포는 금지합니다. -

루팅관련 자료 사용으로 인한 소프트웨어,하드웨어 오류에 대한 책임은 전적으로 본인에게 있습니다.

(항상 자료 사용하시기 전에 백업을 필수로 해주시고 자신의 기종과펌웨어 버젼을 확인하세요)



저작자 표시 비영리 변경 금지
신고


azdesign™ ☆ 테마제작관련 ☆/ 테마이식강좌 , ,



  1. Blog Icon
    한별

    디자인님, 안녕하세요 ^^
    점심식사 맛있게 드시고, 웃는 일만 가득한
    오후되세요 ^^

    상단부와 퀵패널 이미지만 이식한거 내일밤 쯤 이메일로 선보여드릴께요. 이상한지 한번 봐주시면 감사하겠습니다. ^^;;

  2. 앗 한별님 ㅎㅎ 기대만땅입니다. 한별님도 이제 테마제작자의 길로 가시는건가요? 이제 휴가가 끝나서 오전에는 정말 정신없이 지나갔네요.ㅎㅎ
    한별님 즐거운 하루시고~~~ 건강챙기시는거 잊지마세요^^

  3. Blog Icon
    한별

    취미로 한번 삼아볼까 생각중입니다 ^^;;
    테마제작이 이번 취미의 최고정점이 되긴 하겠지만, 정작 집에서 깨어있는 시간이 많지 않은 관계로...^^;;
    몇년은 족히 걸릴거 같습니다 ^^

  4. Blog Icon
    MyHyeon

    저 프로그램이 있는줄 모르고 지금까지
    일일이 찾아다녔네요 ㅋㅋ

  5. 앗~~~Muhyeon님~~~ㅜㅜ
    지금이라도 알게되어서 다행이네요..ㅜㅜ 즐거운하루 보내세요^^

  6. 디쟌님.... 너무 부지런한거 아니세요??
    매일매일 포스팅올리는게 정말 쉬운게 아닌거같아요 ㅠㅠ
    전 뭐 쓸것도 없고.. 아는것도 없고..
    뭐 그냥...대충대충 방치수준만 벗어나고 있는 상태네요ㅋㅋ

  7. 블로그 1일 1포스팅을 원칙으로 하고 있는데 사실 쉽지 않네요^^
    보통 토/일에 많이 작성해놓고 주중은 정리해서 발행하고 있습니다.
    파파님은 뭐든 잘하셔서 맘만먹으면 저하고는 퀄리티가 틀릴듯.ㅎㅎ
    오늘하루 즐거운 하루 되세요^^

티스토리 툴바