DATA2SD, DATA2EXT 관련 글 링크 모음.

스마트폰,전자 2011. 2. 13. 23:48 Posted by 동글래미

>> 내부메모리 부족해결<<

A2SD+ 설정방법 - 이동 

DATA2SD I/O BOOST 설정 - 애기야짱님 설명글

DATA2EXT I/O BOOST - XDA 페이지(영문)

DATA2SD-EXT I/O BOOST - XDA 페이지(영문)

SD카드파일 컴퓨터에서 안보일때 - 페이지로 이동


>> 배터리 효율 증가 <<

배터리 사용량 늘리기 - 캘리브레이션 팁!! 

배터리 표시기 초기화 방법 - Wipe Battery Statt 방법




Kernel compile :

Do it on user not root :

1. Make sure you have an appropriate environment to get the source (git) and to compile the kernel. Install git, gcc, make and libncurses5-dev at least. For Ubuntu based distributions.
apt-get install git-core build-essential libncurses5-dev

2. Create a directory to hold the kernel sources
mkdir ~/htcleo
3. Download the kernel source
cd ~/htcleo
git clone git://git.linuxtogo.org/home/groups/mobile-linux/kernel.git
cd kernel
git checkout -b htc-qsd8k-2.6.29 origin/htc-qsd8k-2.6.29

4. Download and decompress the arm toolchain (64mb)
cd ~/htcleo
wget http://www.codesourcery.com/gnu_tool...ux-gnu.tar.bz2
tar xjf arm-2008q1-126-arm-none-linux-gnueabi-i686-pc-linux-gnu.tar.bz2

5. Generate the default .config for the kernel(ARCH is case sensitive)
cd kernel
make htcleo_defconfig ARCH=arm

6. Compile
export PATH=~/htcleo/arm-2008q1/bin:$PATH
make Image ARCH=arm CROSS_COMPILE=arm-none-linux-gnueabi-


Find your kernel Image in /htcleo/kernel/arch/arm/boot/ 

Now you can configure your proper kernel :
mousepad (Xfce) or gedit (Gnome) ~/htcleo/kernel/arch/arm/configs/htcleo_defconfig
cd ~/htcleo/kernel
make mrproper
make htcleo_defconfig ARCH=arm
export PATH=~/htcleo/arm-2008q1/bin:$PATH (must need once time)
make Image ARCH=arm CROSS_COMPILE=arm-none-linux-gnueabi-

Use git pull in ~/htcleo/kernel to update file and recompile to have the last modified on development 



Initrd compile :

Need to be root !

1. Download initrd.gz from other HTC compiled
mkdir initrd (or anything else in propely folder nothing else on)
cd initrd (put your initrd.gz here)
gzip -dc initrd.gz | cpio -id
Now you have all file and folder you can touch and modified
Use mousepad or gedit on root 


2. Recompile proper
rm initrd.gz (before do a copy for other instance)
find (all name of folder and file) | cpio --create --format='newc' > initrd



Compile source for Arm :
(root user)
On source folder :
#export ARCH=arm CROSS_COMPILE=arm-none-linux-gnueabi- PATH=(your path)/arm-2008q1/bin:$PATH
#CC=arm-none-linux-gnueabi-gcc ./configure --host=arm-none-linux-gnueabi --target=arm-none-linux-gnueabi
# make

framework-res.apk 수정방법

스마트폰,전자 2010. 12. 30. 10:49 Posted by 동글래미
* 준비물

* 루팅된갤럭시K
* 루트 익스플로러(전에 쓴 강좌를 보고 사용법 완벽하게 숙지요망)
* framework-res.apk 파일(아래에서 설명)
* apk manager
* Java SE Development Kit 6u21
- 자신의 운영체제에 맞는걸 받으세요
 jdk-6u21-windows-i586.exe (윈도우 32비트 전용)
 jdk-6u21-windows-x64.exe (윈도우 64비트 전용)

* 강좌에 사용되는 예제그림파일모음. 출처 : (배터리아이콘 : SHAI님, 안테나아이콘 : ???)

* 알집최신버젼


먼저 이번강좌에서 바꾸게 될것은 상단배터리 아이콘과 안테나아이콘을 무지개로 바꿔볼 계획입니다.

apk manager는 다운받아서 한폴더에 압축해제 해두시고

Jave SE Development Kit는 다운받아서 설치하시고

불멸.zip는 다운받아서 압축해제 해주시고

알집도 다운받아서 설치해주시면 됩니다.


이강좌에서는 두가지의 방법을 설명할것입니다.

첫번째는 xml파일을 수정하며 이미지의 갯수 자체를 추가하는방법.

두번째는 이미지를 같은파일이름을 가진 다른이미지로 교체하는방법.



--------------------------------------------------------------------------------------------
첫번째 방법. xml파일을 수정하며 이미지의 갯수 자체를 추가하는방법


먼저 자신의 순정 framework-res.apk파일을 준비해야 합니다.

루트 익스플로러를 이용해서 framework-res.apk파일을 컴퓨터에 복사해줍니다.
(* framework-res파일은 system/framework/ 폴더내에 있습니다.)
(** 이과정도 상세하게 설명하지 않겠습니다. 제가 쓴 이전 강좌를 보면 알수있는데다가
     이걸 모르신다면 이 강좌를 따라하면 위험하다고 생각하기에 그렇습니다.)

framework-res.apk파일을 복사해서(절대 잘라내기 하지 마십시오)

아까 압축을 풀어둔 apk manager폴더내에 place-apk-here-for-modding이 폴더에 저장해줍니다.

여기서 주의할것은 place-apk-here-for-modding이 폴더에 저장을 해놓고

아무곳에나 복사본을 꼭! 꼭! 복사해두시기 바랍니다.(예비용입니다.)

그럼 framework-res.apk를 디컴파일 해줄 차례입니다.

* 컴파일(Compile) : C언어따위의 언어를 컴퓨터가 알아쳐먹을수있는 기계어로 바꾸는작업.
* 디컴파일(Decompile) : 컴퓨터만 알아쳐먹는 기계어를 C언어따위의 언어로 바꾸는 작업.
(뭐어어어어어어어어어?????디컴파일??? 디이컴퐈일?!?!?!?!어디서 인간이 하는말을 못알아 먹고 있어 건방지게....)

Apk manager 폴더내에 있는 Script.bat를 실행시킵니다.


아무키나 눌러줍니다.


다음과 같이 나옵니다.

여기서 우리가 쓸것은 22번과 9번과 11번입니다.

22번은 place-apk-here-for-modding폴더내에 있는 apk를 선택하는 일을 하고

9번은 22번으로 선택한 apk를 디컴파일 하는 역할.

11번은 22번으로 선택한 apk를 컴파일 하는 역할을 합니다.


22번을 누르면 아까 place-apk-here-for-modding폴더에 넣은 framework-res.apk가 보입니다.

1번을 눌러 선택해줍니다.


빨간색 밑줄처럼 apk파일이 선택된게 보입니다.


9번을 누르면 다음과 같이 Decompiling Apk가 나옵니다.

디컴파일 중인겁니다.


디컴파일이 완료되었습니다.

이제 Apk manager폴더에 있는 projects폴더에 들어갑니다.


다음과 같이 apk이름으로 된 폴더가 하나 생성이 됩니다.

이제 apk를 파헤칠수 있게 되었습니다.

framework-res.apk\res\drawable 폴더로 들어가봅니다.

많은 xml파일들이 있습니다. 이 xml들이 각각의 부분들을 구성하고있으며 

이 구성들이 모여 framework-res.apk파일을 이루고있는것입니다.

우리가 이제 해줄작업은 상단 배터리 아이콘을 관여하고 있는 stat_sys_battery.xml파일과

상단 충전중의 배터리 아이콘을 관여하고있는 stat_sys_battery_charge.xml을 수정할것입니다.

여기서 잠깐

디컴파일한 xml파일과 그냥 압축프로그램으로 압축해제한 xml파일을 비교해보도록 하겠습니다.

그냥 압축해제했을때의 stat_sys_battery.xml 파일 모습입니다.

컴퓨터만 알아쳐먹고 있습니다....

디컴파일을 한 동일 stat_sys_battery.xml파일입니다.

뭐가 뭔지 대충 감이 잡힙니다.

이렇기에 디컴파일을 해야되는겁니다.

또한 디컴파일을 했을때와 그냥 압축프로그램으로 열었을때 xml용량도 차이가 나지만 보이는 폴더 갯수 자체가 틀립니다.

하지만 그림파일은 완전 똑같은게 있는반면, 틀린것도 있습니다.

여기서 틀린파일은 대체 무엇이냐?

파일명이 *9.png 끝나는 파일들입니다.

*.9png로 끝나는 그림파일들을 보면 약쪽끝에 검은색 선들이 그어져 있는게 있습니다.

이파일들은 나인패치라는 작업을 거친 그림파일입니다.

이 나인패치는 그림파일에서 늘어나는부분을 지정해줘서 그림파일이 늘어나게 되어도 

그림파일이 깨지지 않고 보이게 하는 역할을 합니다.

대표적으로 안드로이드 폰에서 전화가 왔을때

왼쪽에서 오른쪽으로 쭉 끌어당기는 그 통화버튼, 그렇게 늘어나도 깨지지 않고 자연스럽게 되죠

그런게 나인패치된 파일입니다.

나인패치 방법은 다음강좌에서 설명해드리겠습니다.

자 이제 소스를 분해해볼 차례입니다.

projects\framework-res.apk\res\drawable\ 폴더에 가셔서

stat_sys_battery.xml을 마우스 오른쪽 버튼 눌러서 편집을 눌러줍니다. 메모장으로 열어도 됩니다.
(이후부터 xml파일을 열라고 하는것은 편집으로 여는것을 말하는겁니다. 컴퓨터에서 xml파일을 직접실행시킬일이 없습니다.)


이게 순정 프레임워크 stat_sys_battery.xml파일입니다.

그럼 제가 준비물로 첨부파일 올린 불멸\drawable\폴더에 있는 stat_sys_battery.xml을 열어봅니다.


이런식으로 나오게 됩니다.

프로그램에 대해 조금 아시는분이라면 이 내용이 뭔지 대강 감이 잡히실겁니다.

다시 순정 stat_sys_battery.xml로 돌아와서

    <item android:drawable="@drawable/stat_sys_battery_10" android:maxLevel="20" />
    <item android:drawable="@drawable/stat_sys_battery_20" android:maxLevel="35" />
    <item android:drawable="@drawable/stat_sys_battery_40" android:maxLevel="50" />
    <item android:drawable="@drawable/stat_sys_battery_60" android:maxLevel="65" />
    <item android:drawable="@drawable/stat_sys_battery_80" android:maxLevel="80" />

이부분을 살펴봅니다.

    <item android:drawable="@drawable/stat_sys_battery_10" android:maxLevel="20" />

이부분을 살펴보면 배터리양이 6%에서 ~ 20%이상 까지일때 stat_sys_battery_10라는 그림파일을 출력하라는 뜻 입니다.

(res\drawable-hdpi폴더에 있는 stat_sys_battery_10.png라는 파일이름의 그림파일입니다.)

  

  <item android:drawable="@drawable/stat_sys_battery_20" android:maxLevel="35" />

이부분을 살펴보면 배터리양이 21%에서 ~ 35%이상 까지는 stat_sys_battery_20라는 그림파일을 출력하라는 뜻 입니다.

(res\drawable-hdpi폴더에 있는 stat_sys_battery_20.png라는 파일이름의 그림파일입니다.)

이렇게 배터리양의 %마다 그림파일을 불러오게 프로그래밍 되어있는것이지요.

순정 배터리아이콘은 총 7개로 구성되어있습니다.

하지만 배터리 0~100%까지 1%씩 마다 그림파일을 출력하게 할려면

총 101장의 그림파일이 있어야 되는거죠.

그럼 제가 첨부한 예제 stat_sys_battery.xml파일로 다시 돌아와서 보시면

    <item android:drawable="@drawable/stat_sys_battery_0" android:maxLevel="0" />
    <item android:drawable="@drawable/stat_sys_battery_1" android:maxLevel="1" />
    <item android:drawable="@drawable/stat_sys_battery_2" android:maxLevel="2" />
    <item android:drawable="@drawable/stat_sys_battery_3" android:maxLevel="3" />
    <item android:drawable="@drawable/stat_sys_battery_4" android:maxLevel="4" />
    <item android:drawable="@drawable/stat_sys_battery_5" android:maxLevel="5" />
    <item android:drawable="@drawable/stat_sys_battery_6" android:maxLevel="6" />
.
.
.
.
.


이런식으로 되어있습니다. 이구문을 해석해보면

    <item android:drawable="@drawable/stat_sys_battery_0" android:maxLevel="0" />

배터리양이 0% 이상까지일때 stat_sys_battery_0이 그림파일을 출력하고

    <item android:drawable="@drawable/stat_sys_battery_1" android:maxLevel="1" />

배터리양이 1% 이상까지일때 stat_sys_battery_1이 그림파일을 출력하고

이런식으로 쭉 100%까지 프로그래밍해놓은것 입니다.

제가 첨부한 준비물중에 배터리아이콘 폴더에 들어가시면

0이라고 써있는것부터 100이라고 써있는것까지 101개의 이미지가 있을것입니다.

이것이 모여서 %별 배터리양을 나타나게 됩니다.

이번에는 충전중일때의 배터리 아이콘을 해부해보겠습니다.

충전중일때의 배터리 아이콘을 표시하는 xml파일은 stat_sys_battery_charge.xml파일입니다.

디컴파일하신 순정 프레임워크폴더내에(당연히 \res\drawable) 있습니다.


순정 stat_sys_battery_charge.xml 파일입니다.

stat_sys_battery.xml과는 약간 다른모습입니다.

    <item android:drawable="@drawable/stat_sys_battery_charge_anim0" android:maxLevel="20" />
    <item android:maxLevel="35">
        <animation-list android:oneshot="false"
          xmlns:android="http://schemas.android.com/apk/res/android">
            <item android:duration="1000" android:drawable="@drawable/stat_sys_battery_charge_anim1" />
            <item android:duration="1000" android:drawable="@drawable/stat_sys_battery_charge_anim2" />
            <item android:duration="1000" android:drawable="@drawable/stat_sys_battery_charge_anim3" />
            <item android:duration="1000" android:drawable="@drawable/stat_sys_battery_charge_anim4" />
            <item android:duration="1000" android:drawable="@drawable/stat_sys_battery_charge_anim5" />
        </animation-list>


 





<item android:drawable="@drawable/stat_sys_battery_charge_anim0" android:maxLevel="20" />

이 구문을 보시면 지금 현재 충전된 배터리양이 0~20%이상까지일때 stat_sys_battery_charge_anim0이 그림파일을 출력하라 입니다.

하지만 아랫것은 좀 다름니다.

    <item android:maxLevel="35">
        <animation-list android:oneshot="false"
          xmlns:android="http://schemas.android.com/apk/res/android">
            <item android:duration="1000" android:drawable="@drawable/stat_sys_battery_charge_anim1" />
            <item android:duration="1000" android:drawable="@drawable/stat_sys_battery_charge_anim2" />
            <item android:duration="1000" android:drawable="@drawable/stat_sys_battery_charge_anim3" />
            <item android:duration="1000" android:drawable="@drawable/stat_sys_battery_charge_anim4" />
            <item android:duration="1000" android:drawable="@drawable/stat_sys_battery_charge_anim5" />
        </animation-list>

배터리가 21%~35%이상까지일때 

animation-list로 출력한다는것입니다. 다음과 같이...

            <item android:duration="1000" android:drawable="@drawable/stat_sys_battery_charge_anim1" />
            <item android:duration="1000" android:drawable="@drawable/stat_sys_battery_charge_anim2" />
            <item android:duration="1000" android:drawable="@drawable/stat_sys_battery_charge_anim3" />
            <item android:duration="1000" android:drawable="@drawable/stat_sys_battery_charge_anim4" />
            <item android:duration="1000" android:drawable="@drawable/stat_sys_battery_charge_anim5" />

duration는 애니메이션 그림이 넘어가는 시간을 설정한것입니다. 1000=1초를 얘기합니다.

즉 풀어서 얘기하면 

1초동안 stat_sys_battery_charge_anim1 출력 한뒤에 그다음 그림을
1초동안 stat_sys_battery_charge_anim2 출력 한뒤에 그다음 그림을
1초동안 stat_sys_battery_charge_anim3 출력 한뒤에 그다음 그림을
1초동안 stat_sys_battery_charge_anim4 출력 한뒤에 그다음 그림을
1초동안 stat_sys_battery_charge_anim5 출력 한뒤에 그다음 그림을 출력하라는 뜻입니다.
(네, 복사해서 붙여넣기 신공입니다.)

이렇게 애니메이션 효과를 불러오는것입니다.


(이렇게 1초씩 돌아가며 말이지요....)

이해가 되셨나요???











(모르면 말구요....ㅠㅠ)

자 이제 본격적으로 작업을 해보겠습니다.

제가 드린 준비물에있는 stat_sys_battery.xml, stat_sys_battery_charge.xml이 두파일을

디컴파일한 projects\framework-res.apk\res\drawable 폴더에 덮어씌우기 해줍니다.

(어짜피 소스가 다 짜져있는거니 뭐....)

그리고 배터리아이콘에 있는 모든 그림파일을

projects\framework-res.apk\res\drawable-hdpi 폴더내에 붙여넣어줍니다.

(파일만 넣으세요 파일만...)


이런식으로 모두 붙여넣으셨다면

이제 컴파일을 할 차례입니다.

여기서부터 실수하시면 안됩니다.

Script.bat를 다시 실행해 줍니다.


여기서 22번을 눌러 어플 선택화면으로 들어갑니다.


방금 작업한 1번을 누르고 엔터


이제 11번(컴파일)을 누르고 엔터를 칩니다.


디컴파일했던 framework-res.apk폴더의 내용들이 컴파일중입니다.


이때 중간에 이 apk가 시스템 apk냐고 묻습니다.

그냥 n을 눌러 무시합니다.

y라고 하게 되면 sign과정을 거쳐서 그 apk를 쓸수있게 해주는건데

sign 과정을 거쳐봤자 그 프레임워크 파일을 핸드폰에 적용하면 무한 재부팅 현상이 일어납니다.

이유는 저도 모름니다.
(자랑이다.......훗....)

어짜피 컴파일한 파일을 그대로 쓸게 아니기 때문에 sign을 하지않고 n으로 넘어갑니다.

(컴파일 도중에 에러가 난 다면 이상한 파일이 들어가있거나 원래있던 파일을 지웠기 때문입니다. 원래있던 파일을 지우지 마세요)



place-apk-here-for-modding폴더에 들어가시면 unsignedframework-res.apk라는게 하나 생깁니다.

위에께 원본이고 아래것이 수정해서 컴파일한 파일입니다.

아래건 sign과정을 거치지 않아서 용량이 더 작습니다.

이건 그대로 쓰시면 안됩니다.

아까 설치한 알집을 써줄차례입니다.

알집으로 unsignedframework-res.apk파일을 열어줍니다.

알집을 실행시켜서 직접 열거나,

unsignedframework-res.apk파일을 열기하시거나 마우스 오른쪽클릭하셔서 연결프로그램->기본 프로그램선택 을 눌러주신뒤

찾아보기로 알집프로그램을 직접 지정해주셔도 됩니다.

이 종류의 파일을 열 때 항상 선택된 프로그램 사용에 체크해두시면 편합니다.

(찾아보기로 C:\Program Files\ESTsoft\ALZip\ALZip.Exe 이걸 지정해주시면됩니다.)



이렇게 나오실겁니다.

그리고 아무 새폴더나 만드시고

지금부터 설명드리는 파일들을 끌어다가(드래그해서) 새폴더에 빼줍니다.

resources.arsc파일을 새폴더에 빼줍니다.


이런식으로 빼주시면 됩니다. resources.arsc파일에 대한 설명은 밑에서 하도록 하겠습니다.

그리고 아까 바꿔준 xml파일을 빼줄차례입니다. 


상단 배터리를 구성하고있는

이파일도 새폴더로 빼줍니다. stat_sys_battery.xml과 stat_sys_battery_charge.xml이 파일입니다.
(새폴더로 빼준 파일을 열어보시면 컴파일이 된파일이라 이상하게 나올겁니다. 이게 정상입니다.)


그리고 아까 그림을 많이 추가했던 drawable-hdpi이 폴더에 있는 내용물 모두를 통째로 빼줍니다.

사실 추가된 그림파일이나 수정된 그림파일만 빼줘도 되는데

추가된 파일이 많기때문에 헷갈리지 않기위해서 통째로 빼는겁니다.

추가된 파일만 골라뺐는데 실수로 빠트려먹은 파일이 있다면 무한재부팅이나 벽돌을 보게 되실수 있습니다.

drawable-hdpi 폴더내용을 새폴더에 새폴더를 하나 더 만들어서 그 안에 빼줍니다.


다 빼고나면 이런 모습일겁니다.



그럼 알집으로 열어준 unsignedframework-res.apk 창을 닫아주시고

place-apk-here-for-modding폴더에 있는 framework-res.apk(강좌시작하기전에 핸드폰에서 복사해왔던 원본파일입니다.)를 

알집으로 열어줍니다.

이제 아까 새폴더에서 빼왔던 파일들을 이 순정 framework-res.apk에 붙여넣을 차례입니다.



resources.arsc 이 파일을 바꿔줘야 합니다.

폴더가 이렇게 보이는 최상위 상태에서 

알집의 파일 추가 버튼을 눌러줍니다.



빨간색 네모박스처럼 추가버튼을 눌러 resources.arsc파일을 추가해주시거나

새폴더에 있던 resources.arsc파일을 끌어놓기(드래그)해서 추가해줍니다.



빨간색 밑줄처럼 추가 되었는지 확인하시고

압축방법은 압축안함으로 반드시 해놓고 나서 압축버튼을 눌러주시기 바랍니다.

모든 추가 되는 파일 압축안함으로 해놓고 압축버튼을 누릅니다.



(만약 이런식으로 나와서 압축방법이 안나오시는분들은 고급설정버튼을 눌러주시면 나타납니다.)





위에서 압축버튼을 누르셨다면 이렇게 나옵니다.

안나오면 이상한겁니다. 반드시 나와야됩니다.

안나오면 이상한 폴더에 추가하려고 하시는겁니다.

이 중복확인 창이 안뜨면 정신줄 놓고 있는겁니다. 나와야합니다.

빨간색 네모박스처럼 덮어쓰기를 꼭 해주세요.

덮어쓰기 안하고 건너뛰기 하시면 안됩니다.

반드시 덮어쓰기 해야 추가가 됩니다.

그렇지 않으면 파일이 제대로 추가가 되지 않아 벽돌이나 무한 재부팅 보십니다.

덮어쓰기로 선택하고 확인을 눌러줍니다.

이제 stat_sys_battery.xml, stat_sys_battery_charge.xml 이 두파일을 추가해줄 차례입니다.

알집에서 이 두파일이 원래 있던 폴더로 들어갑니다.



빨간색 네모박스처럼 저 폴더를 클릭하면 drawable폴더내 파일이 나옵니다.

이상태에서 파일추가를 눌러줍니다.



이런식으로 나오겠죠

압축안함으로 하시는거 잊으시면 안됩니다. 압축버튼 눌러줍니다.



이런식으로 나옵니다.

덮어쓰기 선택하고 모든파일에 적용에 체크해주고 확인누릅니다.

이제 그림파일들을 넣어줄 차례입니다.




알집에서 drawable-hdpi 폴더로 이동하시고 파일추가 버튼을 눌러줍니다.



이런식으로 빼놓았던 모든 그림파일 추가 해주시고

압축안함으로 체크하는거 잊지 마시고 압축버튼 눌러줍니다.


덮어쓰기 체크하시고 모든파일에 적용 체크 하시고 확인버튼 눌러줍니다.

이제 다 되었습니다. ㅠㅠㅠㅠㅠㅠㅠㅠㅠㅠㅠㅠㅠㅠㅠㅠㅠㅠㅠㅠㅠㅠㅠㅠㅠㅠㅠㅠㅠㅠㅠㅠㅠㅠㅠㅠㅠㅠㅠㅠㅠㅠㅠㅠㅠㅠㅠㅠㅠㅠㅠㅠㅠㅠㅠㅠㅠㅠㅠㅠㅠㅠㅠㅠㅠㅠㅠㅠㅠㅠㅠㅠㅠㅠㅠㅠㅠㅠㅠㅠㅠㅠㅠㅠㅠㅠㅠㅠㅠㅠㅠㅠ


하지만 강좌가 아직 남아있습니다. 끝까지 주의사항까지 읽고 적용하시기 바랍니다.

아까 resources.arsc파일이 무엇인지 설명안드리고 그냥 넘어갔습니다.

처음에 framework-res.apk을 디컴파일했을때에는 resources.arsc이 파일이 없었을겁니다.

하지만 컴파일이 완료된 framework-res.apk파일을 알집으로 열었을때는 resources.arsc이 파일이 존재하죠.

무슨 차이일가요?

그전에 짚고 넘어갈것이 있습니다.

강좌를 처음부터 잘보셨다면 제가 강좌 시작단계에서 알집으로 열었을때와 디컴파일했을때의 

보이는 폴더의 갯수도 틀리고 파일도 틀리다고 말씀드렸습니다.

resources.arsc이놈은 한마디로 코드의 집약체라고 보시면됩니다.

디컴파일한 framework-res에는 있는폴더와 파일들이

알집으로 열었을때 없으면 그건 모두 resources.arsc에 저장된겁니다.

디컴파일했던 projects\framework-res.apk\res\values 폴더로 들어가보시면

public.xml 파일이 있습니다. public.xml이파일은 그림파일들의 id들을 정의해놓은 파일입니다.

이걸 열어봅니다.


파란색부분을 잘보시기 바랍니다.

순정의 public.xml이라 stat_sys_battery_0, stat_sys_battery_10, stat_sys_battery_100, stat_sys_battery_20
stat_sys_battery_40, stat_sys_battery_60, stat_sys_battery_80
stat_sys_battery_charge_anim0, stat_sys_battery_charge_anim1, stat_sys_battery_charge_anim2
stat_sys_battery_charge_anim3, stat_sys_battery_charge_anim4, stat_sys_battery_charge_anim5
이 그림파일들만 정의되어있습니다.

당연한겁니다. 순정이니깐요

하지만 우리가 바꿔준 결과물을 보면 어떤 결과가 나올까요?

이부분은 따라해줄필요는 없습니다. 그냥 참고용으로 보세요.

우리가 작업을 완료한 framework-res.apk파일을 다시 디컴파일해서 public.xml파일을 열어봤습니다.


다른건 모두 똑같습니다.

하지만 파란색처럼 우리가 추가해준 파일에 대한 정의가 되어있습니다.

즉, 다시 말해서 아까 우리가 작업할때 새로운 그림파일들이 추가되면서 

apk manager가 컴파일할때 resources.arsc에 추가된 그림파일을 자동으로 인식해 기록한것이고

추가된 기록에 대한게 필요하기에 resources.arsc 이녀석을 아까 알집으로 작업때 바꿔준겁니다.

그 증거로 resources.arsc을 메모장으로 직접열어서 아까 추가한 그림파일중 stat_sys_battery_12라고 검색해보면



이렇게 검색이 되는걸 볼수있습니다.

우리는 이렇게 추가된 그림파일 정보를 담고있는 resources.arsc가 필요한것이고

그 resources.arsc파일을 구하기 위해서 디컴파일과 컴파일 하면서 노가다를 하게되는것입니다.

resources.arsc이 파일에 대한 정의도 가지고 있지 않은데 그림파일만 그대로 붙여넣고 그 apk파일을 핸드폰에 적용한다면

무한재부팅과, 벽돌을 보실수있는겁니다.

하지만, 이미 resources.arsc에 기록이 되어있는 그림파일명을 그림만 바꿔치기 하는건 가능합니다.

그래서 제가 제일 처음에 첫번째 강좌와 두번째 강좌를 나눈 이유가 여기있습니다.

첫번째 강좌는 그림파일 갯수를 추가 하면서 xml을 수정하는 방법이고

두번째 강좌는 그림파일만 바꿔치기하는 강좌입니다.

--------------------------------------------------------------------------------------------------

두번째 방법. 이미지를 같은파일이름을 가진 다른이미지로 교체하는방법.


※ 주의사항 : 적용하려는 그림파일이 파일명과 그림사이즈(가로세로)가 같아야 합니다.
※ 주의사항 : 적용하려는 그림파일이 파일명과 그림사이즈(가로세로)가 같아야 합니다.
※ 주의사항 : 적용하려는 그림파일이 파일명과 그림사이즈(가로세로)가 같아야 합니다.
※ 주의사항 : 적용하려는 그림파일이 파일명과 그림사이즈(가로세로)가 같아야 합니다.
※ 주의사항 : 적용하려는 그림파일이 파일명과 그림사이즈(가로세로)가 같아야 합니다.



간단합니다.

제가 처음에 드린 준비물중에 불멸.zip에 보면

안테나 아이콘 폴더가 있습니다.

순정을 이 그림파일들로 바꿔줄겁니다.

아까 우리가 완성했던 framework-res.apk을 알집으로 열어줍니다.



안테나아이콘들도 배터리아이콘들과 같은 폴더인 \res\drawable-hdpi\ 폴더에 들어가있습니다.

알집에서 framework-res.apk를 여셨으면 \res\drawable-hdpi\에 들어갑니다.



여기서 파일 추가를 눌러줍니다.



31개의 파일입니다.

압축안함으로 하시고 압축눌러주시면 됩니다.



여기서는 아까와는 다르게 할겁니다.

덮어쓰기에는 체크하되 모든파일에 적용에는 체크하지 마시고 확인을 누르세요

총 31번 누르면 맞는겁니다.

이미 있는 파일명을 또 덮어쓰려니 뜨는거지요.

만약에 30번만 떴다면 원래 있던 파일명과 다른 파일명이 1개가 들어갔다는 소리가 되겠죠

하지만 제가 첨부해드린 파일들은 이미 있던것들이라 31개가 정확하게 뜰겁니다.

자이제 알집을 닫아줍니다.

두번째 방법은 이게 끝입니다.

참 쉽죠잉?

------------------------------------------------------------------------------------------------------

이제 적용방법 입니다. 사실 이부분도 중요하지만, 이부분 상세히 설명 안드리겠습니다.

제가 이미 이전 강좌에서 설명드렸는데다가

강좌를 들으셨는데도 이밑에 설명을 모르신다면 이전에 쓴 강좌를 제대로 숙지 못하신것입니다.

제대로 숙지 못한분들께 권하는 작업이 아님을 처음시작부터 이미 말씀드렸습니다...

제가 할줄안다고 자만 떠는게 아니고, 이해를 못하셨는데 시도해서 벽돌되실까봐 그렇습니다.

이부분을 잘못하실경우 무한재부팅과 벽돌이 되십니다.

이 아래부분을 이해 못하시면 http://toforyou.tistory.com/54 이강좌를 다시 보고 오시기 바랍니다.

그래서 그냥 이부분은 글로만 설명드립니다.

첫번째를 거쳐 두번째까지 완성된 framework-res.apk파일을 외장메모리에 넣습니다.

외장메모리에서 framework-res.apk파일을 root\system폴더에 넣어주시고 난뒤
(절대 직접적으로 system\framework 폴더에 넣지 마세요)

퍼미션을 정해주고나서 잘라낸뒤에 system\framework폴더에 붙여넣습니다.

그리고 나서 재부팅해주시면 완료가 됩니다.

프레임워크 파일을 바꾸고 나서 하는 첫부팅은 시간이 약간걸립니다.
[How To] Add Custom Animations To Your Favorite Builds (easy)

So i decided to stop bothering the DEVs to change the animation i didnt like and do something about it 

Tired of you old animation? or wanna get rid of one you dont like? now we can!  (thanks to MagnusRagnarok )

HOW TO:

-Back up your entire Android folder (build)
-Rip the framework-res.apk from the build you wish to customize (system/framework)
-Download the animation of choice.
-You will get a folder named "anim"
-Now open the ripped framework-res.apk (right click on it, and select "open archive") using 7zip, or any other program.
-Drag the "anim" folder (the animation you downloaded) into /res folder in your framework-res.apk. This will replace the files currently in /res/anim. 
-Then push the modified framework-res.apk back to the phone.
-Then reboot 

This was tested, and im currently using the fly in animation with Mdeejay clean sense.

DOWNLOADS ARE ATTACHED BELOW.
flyin.zip - flyin animation
bounce.zip - bounce animation
anim.rar - flip animation
fold.zip - fold animation
animstock.rar - stock animation

If anybody has more animation, please kindly post them

THANK YOU


Attached Files
File Type: zip Fold.zip (32.8 KB, 27 views)
File Type: zip Flyin.zip (33.7 KB, 18 views)
File Type: zip Bounce.zip (32.1 KB, 18 views)
File Type: rar animstock.rar (29.5 KB, 24 views)
File Type: rar anim.rar (29.2 KB, 15 views)
[DIY] 외국롬을 한글화 해보자 - 1.어플 한글화 | Desire 루팅 Tip
전체공개 8 / 2010.11.11 20:37

한 2주일 동안 붙잡고 하다 보니 꽤 알게 되어서 나중에 귀차니즘에 빠지거나, 바뻐서

제가 작업을 못할 때 다른 분께서 작업해 주시길 바라는 맘에 올려 봅니다.

 

-----------------------------------------------------------------------------------------------------------------

준비물 (윈도우)

1. apktool 1.3.2 (http://forum.xda-developers.com/showthread.php?t=640592)

2. java (java.com 에서 설치)

3. 7zip

-------------------------------------------------------------------------------------------------------------------

cygwin이나 다른 VM으로 리눅스 환경에서 작업해서 키친 프로그램으로 만들 수도 있으나

복잡한 관계로 가장 쉬운 방법으로 설명 합니다.

 

APKTOOL 사용법

1. 설치

apktool을 C드라이브의 루트에 폴더를 만들어 깔아줍니다. (예. c:\1)

aapt.exe apktool.bat apktool.jar 이렇게 세 파일만 있으면 됩니다.

 

2. 어플 디컴파일

우선 자신이 한글화할 롬에서 framework-res.apk와 어플을 복사해서 apktool 폴더에 넣어줍니다.

(framework-res.apk 위치 : system/framework/framework-res.apk)

(app 위치 : data/app 또는 system/app)

 

윈도우키+R로 cmd를 실행 도스 프롬프트 상태에서 (c:\1) 폴더를 찾아갑니다.

 

c:

cd\

cd 1

apktool if framework-res.apk     -- 어플이 구동되는 프레임워크 라이브러리를 설치 최초 한번만 해주면 됨.

apktool d xxxx.apk                        -- xxxx.apk 어플을 같은 이름의 폴더에 디컴파일 함

 

위 명령어를 입력하면 xxxx라는 폴더가 생기며 해당 폴더에 보면 res폴더가 있습니다.

 

3. value-ko 추가

res폴더에 value-ko 폴더를 생성하고

value폴더에서 strings.xml을 복사해서 value-ko폴더에 넣어 줍니다.

 

    <string name="yes">ok</string>

위와 같이 > < 안에 있는 내용을 한글로 수정해 줍니다.

모든 스트링 값을 수정 하였다면, UTF-8 형식으로 저장해 줍니다.

 

4. 리컴파일

도스 프롬프트 상태에서

 

apktool b ./xxxx/ ./done/xxxx.apk    --- xxxx폴더에서 작업한 파일들을 done 폴더를 생성하고 그안에 xxxx.apk로 컴파일

 

이 과정에서 정상적으로 오류 메시지 없이 컴파일 되었다면 문제 없으나, 오류가 발생했을 시엔

  1) value에 있는 기본값과 value-ko의 내용이 빠지거나 추가된 부분은 없는가 

   2) > < 사이 수정 과정에서  <string name="yes">ok</string> 를  <string name="yes">확인</string> 으로

       수정해야 되는 것을 <string name="yes">확인/string> 식으로 <를 삭제하진 않았는지

   3) 마지막 저장할 때 UTF-8형식이 맞는지 체크하세요.

 

5. resources.arsc 대체

done폴더의 작업한 apk 파일을 7zip 탐색기로 열면 resources.arsc 가 있습니다.

원본 롬을 7zip탐색기로 열고 해당 어플 apk를 더블클릭해서 들어가면 용량이 조금 작은 resources.arsc가 있습니다.

마우스로 끌어서 작업한 arsc를 원본에 덮어 씌웁니다.

 

주의 절대 작업한 apk파일 자체를 원본에 덮어씌우면 안됩니다. apk파일 내의 resources.arsc 파일만 서로 압축을 풀지 않고

대체 시키는 겁니다.

 

-------------------------------------------------------------------------------------------------------------------

value폴더들은 apk 파일 자체를 열었을 때 보이지 않고 해당 내용들이 resources.arsc에 저장이 됩니다.

그래서 이 파일만 대체하면 한글 로컬이 추가되는 것이죠..

 

 

TIP. 일반 어플 한글화

일반 어플도 마찮가지 방법으로 한글화 하시면 되는데, 위 과정에서

apktool if framework-res.apk

부분은 생략하고, done 폴더에 생성된 apk 파일을 motizen-sign이 있는 폴더에 넣고 work.apk로 이름을 수정,

sign.bat 를 실행하면 work-signed.apk 가 생성 됩니다. 이걸 원래 어플이름으로 수정해서 SD카드에 넣고 실행하면

설치 됩니다.

 

 

다음엔 한글화 롬 추가 설정 부분을 올리겠습니다

[DIY] 외국롬을 한글화 해보자 - 2.패키징 하기 | Desire 루팅 Tip
전체공개 9 / 2010.11.16 16:58

지난 번 올렸던 글이 공지에 까지 올라갔네요. 댓글은 몇 없었지만, 꾸준히 쪽지로 문의 주시는 분들도

많고 해서 다음 글을 적어 봅니다.

롬에서 한국 관련 설정이 필요한 것들을 정리해 보았습니다.

 

1. build.prop (/system/)

전체적인 롬에 대한 설명과, 시스템 설정 등이 들어가는 파일 입니다.

 
ro.build.display.id=MIUI_omosiro 0.11.12 R2a    << 이부분은 설정 휴대폰 정보에 들어갔을 때 빌드 정보란에 들어가는 내용

ro.product.locale.language=ko                        << 기본 언어 설정 ko는 한글
ro.product.locale.region=KR                            << 기본 국가 지역 설정 KR은 한국

media.stagefright.enable-player=true     << 멜론이 안될때 false로 해주면 작동되나, 쿼드에서 CPU점수가 많이 떨어집니다.

                                                             기본값은 true
ro.product.model=HTC Desire                      << 휴대폰 정보 부분에서 모델명

 

자신이 짜집기 해서 롬을 만든다면 첫줄 부분을 수정해 주면 되지만, 그렇지 않은 경우 ko,KR만 추가해 주는 것으로

충분합니다.

 

2. apns-conf.xml (/system/etc/)

 각 국가별 통신 사업자 관련 설정이 들어가는 파일 입니다.

 

<apn carrier="SKT3G" mcc="450" mnc="05" apn="web.sktelecom.com" mmsc="http://omms.nate.com:9082/oma_mms" mmsproxy="smart.nate.com" mmsport="9093" type="default,supl,mms" />
<apn carrier="KT-HSDPA" mcc="450" mnc="08" apn="alwayson-r6.ktfwing.com" mmsc="
http://mmsc.ktfwing.com:9082" type="default,supl,mms" />

 

만약 위처럼 SKT와 KT 정보가 없을 땐 추가 해 줍니다.

 

3. GPS.conf (/system/etc/)

기본 GPS 서비스 관련 설정 부분 입니다. 각롬을 만든 제작자의 지역 기준으로 설정이 되어 있을 텐데요.

  

NTP_SERVER=kr.pool.ntp.org
XTRA_SERVER_1=http://xtra1.gpsonextra.net/xtra.bin
XTRA_SERVER_2=http://xtra2.gpsonextra.net/xtra.bin
XTRA_SERVER_3=http://xtra3.gpsonextra.net/xtra.bin
SUPL_HOST=wpde.nate.com
SUPL_PORT=7275

한국에 맞게 윗 부분을 수정해 주시면 됩니다. 외국 설정을 그대로 사용해도 작동은 합니다. 다만 GPS가 위치정보 인식하는 과정이 외국 서버를 통해서 들어오기 때문에 한국 설정 보다는 반응이 조금 늦겠죠.

 

4. 폰트 수정 (/system/fonts/)

기본 내장된 폰트를 사용해도, 한글 출력엔 문제 없을 겁니다. 다만 자신이 원하는 폰트를 내장하기 원한다면

 

Clockopia.ttf
DroidSans-Bold.ttf
DroidSans.ttf
DroidSansFallback.ttf

 

이 4개의 파일을 루나님 같은 분들이 올려주신 폰트ZIP에서 추출해서 넣어주세요. 파일명은 반드시 지키셔야 됩니다.
 

5. 라이브러리 설정 (system/lib/)

자신이 롬에 추가하고자 하는 어플이 있을 겁니다. 예를 들어 구글 한글 키보드 라든가..  apk를 열면 lib폴더가 있습니다.

그안에 들어있는 so파일을 롬의 lib폴더에 넣어주시고 어플은 system/app 이나 data/app에 넣어주시면 됩니다.

(예. flash player, 구글한글키보드, 스마트키보드 등등)

 

6. 미디어 파일 수정 (system/media/)

해당 폴더에 들어가시면 알람, 알림, 벨소리, UI동작음 폴더가 있습니다. 수정 원하시면 추가하거나 덮어 씌우시면 됩니다.

UI동작음은 추가가 되지 않고 교체만 가능합니다.

 

7. 별도 어플 롬에 추가 하기

롬에 data/app 폴더를 만들고 폴더 안에 넣어줍니다. system/app에 넣으셔도 되지만, system/app에 들어가는 어플은

추후 업데이트 및 삭제가 불가능 합니다. 그리고 data/app에 너무 많이 넣진 마세요. 내부 공간 줄어 듭니다.

 

8. 부팅 애니메이션 수정

data/local 폴더를 만들고 안에 bootanimation.zip 파일을 넣어줍니다.

 

만약 data/app 이나 data/local 등을 추가하게 되면 update-script 파일을 수정해 주어야 설치 과정에서

이상없이 설치되는데, 따로 설명 하겠습니다.

 

9. updater-script 수정하기 (/META-INF/com/google/android/)

정말 중요한 항목입니다. 일단 editplus등의 편집기로 열었을 때, 파일이 PC형식인지 UNIX형식인지 확인하세요.

updater-script 안에는 한글이 들어가면 안됩니다. 꼭 원래 형식으로 저장해서 덮어 씌우세요.

 

기본적으로 자신이 받은 롬에 data폴더가 있다면 따로 수정해 줘야 하는 부분은 없습니다. 만약 롬을 열었을 때

system 폴더와 META-INF 폴더만 있다면 data폴더에 대한 부분을 추가해 줘야 합니다.


mount("MTD", "system", "/system");         << 이부분은 대부분의 롬에 있을 겁니다.
mount("MTD","userdata","/data");              << 그아래 data 폴더 마운트 명령을 추가합니다.


package_extract_dir("system", "/system");    << system 폴더 설치 명령 부분입니다. 
package_extract_dir("data","/data");               << 위 라인을 찾아서 그아래 data폴더 설치 명령을 추가합니다.

 

그리고 중간 부분 아무 곳에나


symlink("/data/local/bootanimation.zip", "/system/customize/resource/bootanimation.zip");

symlink("/system/fonts/DroidSans.ttf", "/system/fonts/Arial.ttf");
symlink("/system/fonts/DroidSans.ttf", "/system/fonts/DroidSerif-Regular.ttf");
symlink("/system/fonts/DroidSans-Bold.ttf", "/system/fonts/Arial-Bold.ttf");
symlink("/system/fonts/DroidSans-Bold.ttf", "/system/fonts/DroidSerif-Bold.ttf");

 

을 추가 합니다. 첫줄은 부팅 애니메이션을 local 폴더에 넣어주는 것으로 교체하는 명령이며,

그 아래 4줄은 차후 롬매니저로 폰트를 플래시 해서 교체 가능 하도록 해주는 항목 입니다.

 

여기서 주의점!  반드시 ;로 끝난 다음 줄에 구문을 추가하셔야지 , 등으로 끝난 다음줄에 넣으시면 오류납니다.

(나쁜 예)

symlink("iwmulticall", "/system/xbin/iwconfig", "/system/xbin/iwgetid",
symlink("/data/local/bootanimation.zip", "/system/customize/resource/bootanimation.zip");

        "/system/xbin/iwlist", "/system/xbin/iwpriv",
        "/system/xbin/iwspy");

(올바른 예) 

symlink("iwmulticall", "/system/xbin/iwconfig", "/system/xbin/iwgetid",

        "/system/xbin/iwlist", "/system/xbin/iwpriv",
        "/system/xbin/iwspy");
symlink("/data/local/bootanimation.zip", "/system/customize/resource/bootanimation.zip");

 

이러한 추가 입력 부분은

assert(package_extract_file("boot.img", "/tmp/boot.img"),
       write_raw_image("/tmp/boot.img", "boot"),
       delete("/tmp/boot.img"));
show_progress(0.100000, 0);
unmount("/system");
unmount("/data");

이 글들의 위쪽에서 이루어 지면 됩니다. 어려운것 없어요 ^^

 

10. 마무리

지난 글에서 apk 들의 한글 번역 추가를 완료 하시고, 이글에서 각종 설정과 추가 작업 및 update스크립트의 수정까지

완료 하셨으면 모든 작업이 완료 된 겁니다.

 

리커버리에서 install from zip 명령으로 해당 롬zip을 올려 보세요. 물론 테스트전에 백업은 필수 겠죠.

만약 여기서 오류가 난다면,

1. 처음 update-script의 파일 형식 UNIX, PC 가 새로 저장하는 과정에서 바뀌진 않았는지.

2. 리커버리 메뉴에서 verification 이 enable로 되어 있진 않은지. (verification 들어가는거 한번 눌러 주면 disable로 변경)

확인 해 보세요.

 

설치 후에 자신이 추가된 것들이 정상적으로 설치가 되었는지 확인해 보세요. 긴글 읽어 주셔서 감사합니다.

 

모든 롬파일 내의 작업은 절.대.압.축.풀.지.않.습.니.다.클.나.요!! 

그냥 드래그로 집어넣긔~

통신사별 원배정 국번 안내

스마트폰,전자 2010. 11. 14. 00:28 Posted by 동글래미

SKT 할부이자 계산기

스마트폰,전자 2010. 10. 16. 23:36 Posted by 동글래미


 www.imemi.co.kr 인쇄 즐겨찾기추가 
※ 할부원금/이자 계산기 ※
단말기할부원금 : 원, 할부개월수 : 개월, 할부이자율 : %  
24개월 할부시
개월월청구액할부원금할부이자단말기 잔여할부금
1 25,131 22,340 2,791 545,260
2 25,131 22,450 2,681 522,810
3 25,131 22,560 2,570 500,250
4 25,131 22,671 2,460 477,578
5 25,131 22,783 2,348 454,796
6 25,131 22,895 2,236 431,901
7 25,131 23,007 2,124 408,894
8 25,131 23,120 2,010 385,773
9 25,131 23,234 1,897 362,539
10 25,131 23,348 1,782 339,191
11 25,131 23,463 1,668 315,728
12 25,131 23,578 1,552 292,149
13 25,131 23,694 1,436 268,455
14 25,131 23,811 1,320 244,644
15 25,131 23,928 1,203 220,716
16 25,131 24,046 1,085 196,670
17 25,131 24,164 967 172,506
18 25,131 24,283 848 148,224
19 25,131 24,402 729 123,822
20 25,131 24,522 609 99,300
21 25,131 24,643 488 74,657
22 25,131 24,764 367 49,893
23 25,131 24,886 245 25,008
24 25,131 25,008 123 0
총 할부청구금액 : 603,144총 할부이자 : 35,544
상호명 :   TEL :   FAX :   
dd if=/dev/zero bs=1M count=X >> system.ext2
fsck.ext2 -f system.ext2
resize2fs system.ext2

mount -o loop -t ext2 system.ext2 [directory]

1. Hdwall을 실행 시키시고, load 버튼을 눌러 이미지를 가져옵니다. 

    (800*800 해상도가 가로 세로 통일성을 위해 좋을 것 같습니다)

2. Wallpaper Editor이라는 창이 열리는데, Auto Resize full image나 Auto Crop & resize 혹은 수동으로 

   마음에 드시는 앵글을 잡으신 후 apply를 눌러줍니다. (이미지 좌우대칭 상하대칭 투명도 조절, 배경색지정 가능합      

   니다) => 본래창에서 지금 세팅한 내용을 확인할 수 있습니다

3. close를 눌러 Wall Paper Edit를 닫으신 후 (결과물 저장경로 바꿈 확인 창이 뜨는데.. 확인을 누르면 경로가 

   변하게 됩니다_크게 상관없음, 다시 config 텝에서 변경할 수 있습니다)

4. Slider 텝을 이용해서 화면 하단 슬라이드 텝의 아이콘을 변경가능하나 저는 진욱님 슬라이더 아이콘이 이쁘기도    

   하고, 더 이쁜 아이콘이 없어 패스했습니다.

5. Config를 눌러 configuration 창을 띄운 후 output directory 경로를 원하는 곳으로 지정해 줍니다

6. Profile에서 TF3D v2.1 No compression -All tabs( 진욱님 카본블루 롬 기준)으로 세팅하시고 ok를 눌러 

   configuration 창을 닫아 줍니다.

7. Create cab 버튼을 눌러 Manila CAB Creator 창을 연 후, 세로배경이면, Include Portrait Wallpaper 옵션을

   가로 배경이면, Include landscape wallpaper 옵션을 켠후, Convert버튼을 눌러 줍니다. 

   (변환하는데 조금 오래 시간이 걸리니 닫지 마세요)

    저는 가로용 배경한번 세로용 배경한번 이렇게 총 두번 배경변환을 하였습니다. 

8. 변환이 완료되고 나면, 각 배경당 2개의 파일이 생성되는데 이를 엑스페리아의 windows 폴더 밑에 

   복사해주고 soft reset 하면 배경이 적용 됩니다.