본문 바로가기

테마강좌

[러그의 테마강좌] -4- APK 파일 안의 각 폴더와 파일들의 역할

336x280(권장), 300x250(권장), 250x250, 200x200 크기의 광고 코드만 넣을 수 있습니다.

오늘은 APK 의 각 부분의 명칭과 경로에 대해 강좌해드릴겁니다.

 

 

▲ 위 사진은 SystemUI.apk 를 디컴파일한 내용의 res 폴더 속 내용 입니다.

수많은 폴더가 있습니다..

이 수많은 폴더와 파일 중에서 원하는 부분의 파일을 찾아 수정하기는 힘들죠..ㅠ


이 수많은 폴더중 실질적으로 수정하게 되는 곳은 아주 적습니다.

 

 

※ 테마 수정에 관련된 폴더 요약 설명

 

- drawable-xxxx (x=해상도)

이미지파일들이 모여있는 곳입니다.

매우매우 중요합니다.

- drawable

해상도가 정해지지 않은 이미지 리소스들이 있습니다.

SystemUI 에서는 각 이미지들에 대한 설정들이 모아져 있습니다.

중요하지는 않습니다.

- layout

레이아웃에 관련된 xml 파일들이 들어있습니다.

약간 중요합니다.

- raw

앱에 관련된 효과음, 음악 관련 파일들이 있습니다.

중요하지 않습니다. (기기에 따라 없을수도 있습니다.)

- values

이 폴더 안에 있는 xml 안의 내용을 다른 xml들이 가져다 쓰게 됩니다.

매우 중요합니다.

- values-ko

상단바에 쓰이는 한글로 된 말들이 모여 있습니다.

(예, USIM 을 넣어주세요, WIFI켜기 등등)

 

 

 

 

※각 폴더에 대한 자세한 설명

 

* drawable-xxxx (x=해상도)

- 자세한 설명

상단바를 구성하는 이미지파일들이 모여 있습니다.

이곳만 수정해도 간단한 테마는 만들 수 있습니다.

- 이미지 교체 작업

원래 있던 이미지를 변경할 이미지 파일로 교체하는 것으로도 교체가 됩니다. 

이미지 파일 크기는 대부분 똑같이 맞춰주어야 합니다.

- 나인패치 이미지

파일명 끝에 .9.png 가 붙은 파일들 (예. startus_bg.9.png) 는 나인패치 이미지파일입니다.

나인패치이미지파일을 수정할때는 이미지 끝의 1픽셀의 검정 선을 건드리지 않게 수정해야합니다.

나인패치 속성을 없애려면 파일명의 .9 를 지우고 수정하셔야 합니다.

 

* drawable

- 자세한 설명 

원래 해상도가 정해져있지 않은 이미지 리소스파일이 모여져 있지만..

SystemUI 에서는 각 이미지파일들에 대한 설정들이 모여 있습니다.

별로 중요하지 않지만.. 타 기기 테마 이식 때는 자주 쓰게 될 수도 있습니다.

(예. 이 이미지를 클릭할 시에 이런 이미지로 전환하게 설정 등등)

딱히 주의사항은 없습니다.

 

* layout

- 자세한 설명

상단바 시그널, 와이파이 이미지 등등의 레이아웃을 설정해주고..

확장패널의 레이아웃을 설정하는 등 다양한 레이아웃을 담고 있습니다.

이 폴더의 파일들에서 시그널 분리 패치, 시계 중앙 패치 등등을 하게 됩니다.

- 주의사항

레이아웃의 경우 1픽셀, 1픽셀 하나가 중요하므로 여러번의 테스트를 하게 됩니다.

그리고 레이아웃 수정 도중 다른 부분이 이상해질 수 있으니..

테스트한 SystemUI 를 모두다 한 폴더에 저장해놓고 하면 좋습니다.

 

* raw

- 자세한 설명

앱에 대한 음악 파일들이 모여 있습니다.

주로 효과음을 담당합니다.

* 주의사항

왠만하면 ogg 포멧의 파일을 넣어주시기 바랍니다.

 

* values

-자세한 설명

다른 xml파일들이 이 폴더 안의 파일들의 내용을 가져다 쓰게 됩니다.

(예, 자주 쓰게되는 색상, 글자 스타일 등등)

아주 중요한 폴더입니다.

- bools.xml

기능들의 on, off 기능을 하는 xml 파일입니다.

- colors.xml

자주 사용되는 색상이 나와 있습니다.

#000000 같은 형식으로 표현되어 있습니다.

- dimens.xml

각 부분의 간격, 여백 등이 나와 있습니다.

- strings.xml

영어로된 앱에 쓰이는 단어들이 나와 있습니다.

(예, WIFI on, GPS on 등등)

- styles.xml

자주 쓰는 여러가지의 글자 형태, 모양들 등등을 지정해주는 역할을 합니다.

(예, 글자에 기울기, 굵기, 그림자 등을 하나의 스타일로 지정해줍니다)

 

* values-ko

앱에 쓰이는 한글로 된 말들이 모여 있습니다.

(예, USIM 을 넣어주세요, WIFI켜기 등등)

- strings.xml

앱에 쓰이는 한글로 된 말들이 모여 있습니다.

 

 

 


이해가 안가는 부분은 덧글로 문의해주시면 제가 아는 만큼까지는 답변해드리겠습니다.