포이즌
12.12.13
조회 수 3533
추천 수 9
댓글 4

테마파일을 적용을 쉽게 하기 위해 스크립트를 만들어 봤습니다.

다음은 첨부한 ThemeApply의 스크립트 내용입니다.

 

#!/system/bin/sh

busybox mount -o remount,rw /system
busybox mount -o remount,rw /preload

for i in $(busybox ls -1 /sdcard/theme); do
    if busybox [ -f /preload/symlink/system/app/$i ]; then
        busybox rm -f /preload/symlink/system/app/$i
        busybox mv -f /sdcard/theme/$i /preload/symlink/system/app/$i
        busybox chmod 644 /preload/symlink/system/app/$i
    elif busybox [ -f /system/app/$i ]; then
        busybox rm -f /system/app/$i
        busybox mv -f /sdcard/theme/$i /system/app/$i
        busybox chmod 644 /system/app/$i
    elif busybox [ -f /system/framework/$i ]; then
        busybox rm -f /system/framework/$i
        busybox mv -f /sdcard/theme/$i /system/framework/$i
        busybox chmod 644 /system/framework/$i
    fi
done

echo Finished...

 

쉘스크립트는 잘 모르는데 검색을 해서 딱 요만큼만 배웠습니다.^^

 

<조건>

* busybox 설치.

* /sdcard 에 theme 라는 이름의 폴더를 만들고 적용하고자 하는 파일을 넣어 둡니다.

* 아래 첨부한 ThemeApply 파일을 /system/bin 폴더에 넣어두고 권한을 777 로 줍니다.

 

<설명>

busybox mount -o remount,rw /system

    - /system 파티션을 쓰기 모드로 마운트 합니다.

 

for i in $(busybox ls -1 /sdcard/theme); do

    - for문( 반복문)입니다. 변수는 i 입니다. i 변수가 받는 값은 뒤의 ls 명령어가 출력한 값입니다.

      ls 명령어는 파일 리스트를 보여주는 명령어입니다. 옵션 -1 은 리스트를 한줄 단위로 출력합니다.

      ls 명령으로 /sdcard/theme 폴더의 파일리스트를 하나씩 받아서 다음의 명령을 실행합니다.

      밑에 있는 done 사이에 있는 명령은 모두 이 for문에 종속됩니다.

 

if busybox [ -f /preload/symlink/system/app/$i ]; then

    -  if 는 조건문으로, 옵션 -f 를 써서 링크파일이 아닌 일반 파일인지를 검사합니다.

       $i 는 변수 i 입니다. ls 명령으로 출력된 파일 이름이 들어 있습니다.

       /sdcard/theme 폴더에 SystemUI.apk 파일이 있다면 $i 가 이 문자열을 가지고 있습니다.

      /preload/symlink/system/app/ 에 SystemUI.apk 파일이 있다면( 조건이 참이라면) 다음의 명령을 실행합니다.

 

busybox rm -f /preload/symlink/system/app/$i

    -  rm 은 삭제하는 명령입니다. /preload/symlink/system/app/SystemUI.apk 파일을 삭제합니다.

       -f 옵션은 삭제할 것인지 말것인지 묻지 않고 삭제합니다.

 

busybox mv -f /sdcard/theme/$i /preload/symlink/system/app/$i

     - mv 는 파일을 이동시키는 명령입니다. /sdcard/theme/SystemUI.apk 파일을 /preload/symlink/system/app/SystemUI.apk 로 이동시킵니다.

      -f 옵션은 이동할 곳에 같은 이름의 파일이 있을 경우 덮어 쓸 것인지 말것인지를 묻지않고 이동시킵니다.

 

busybox chmod 644 /preload/symlink/system/app/$i

    -  chmod 는 권한을 주는 명령입니다. 644 로 주었습니다.

 

elif busybox [ -f /system/app/$i ]; then

    - elif 는 위의 if 조건문과 같은데, if문에 붙여서 병렬로 다른 조건을 탐색할 때 사용합니다.

      /system/app/ 에 SystemUI.apk 파일이 있는지 검사해서 있으면 다음 명령을 실행합니다.

 

이하 생략.......

 

< 실행법>

적용하고자 하는 파일을 /sdcard/theme 폴더에 넣고,

터미널이나 adb 명령창에서 su 권한으로 ThemeApply 를 치면 됩니다.

Extra Form
첨부
댓글 4
댓글 쓰기 권한이 없습니다.
정렬 목록 검색 쓰기
등록된 글이 없습니다.
1 - 2