본문 바로가기

Mobile/Android

app2sd

안드로이 어플을 이것저것 많이 설치했다면
폰에 어플좀 깔아보려고 할대 용량이 작다고 투정을 부립니다.
기본적으로 어플을 설치 할수 있는 용량이 200메가 정도 밖에 안되서 생기는 문제 입니다.
해결책으론 설치된 어플을 SD를 옮기거나..
근본적으로 어플을 설치 할때무터 SD 카드에 APP을 설치 하도록 하는 방법이 있습니다.

설치후 옮기는건 다 하실줄 아시리라 생각 하고..
어플 설치 폴더를 SD로 기본 설정 하는 방법을 설명 하겠습니다.

기본 이론은 간단합니다.APP 설치 폴더 위치를 SD로 바꿔 주는겁니다.
(리눅스를 사용해 보신 분이라면 ln 명령으로 link 시키는 걸 많이 보셨을겁니다.)

우선 SD 카드에 중요한 자료를 백업하고.
폰에 어플이 많이 깔려있다면 초기화 를 권장 합니다.
(메뉴-설정-개인정보보호-개본값데이터재설정)

그리고 SD 카드에 파티션을 아래와 같이 나눠 줍니다.
파티션을 2개로...처음 파티션을 FAT32 로 두번째 파티션을 EXT2로 해줘야 합니다..
저는 16기가 메모리라서 어플을 저장할 공간인 EXT2를 1기가로 잡고 나머지를 모두 FAT32로 잡아줬습니다.
파티션 분할 프로그램은 여러가지가 있는데..저는 그냥 설치 할필요 없고 구하기 쉬운거 아무거나
하나 골라서 썼습니다..
Hiren's Boot 씨디에 보니 MiniTool Partition Wizard Home Edition 이 있길래 이걸로 작업 했는데.
별 문제 없더군요. 



파티션 분할이 다 되었으면
FAT32 파티션에 app2sd 라고 폴더를 만들어서 첨부함 파일을 압축 해제 해줍니다.



루팅을 코멘드 모드로 하지 않았다면 ABD가 없을테니 이것 역시 없다면 첨부 파일을 받아서 적당한 곳에 압축을 풀어 줍니다. 예제에는 D:드라이브 루트에 풀어줬습니다.


Win+R 눌러서 CMD 를 실행해서 아래와 같이 작업을 해줍니다.

D:\adb>adb devices <- 디바이스를 확인
List of devices attached
040200870B010019        device

D:\adb>adb shell <- 쉘 실행

# df /data/app <- 현재 어플 폴더 사용가능 용량 확인
/data/app: 271488K total, 52980K used, 218508K available (block size 4096)  <- 200메가 정도..

# cd /sdcard/app2sd  <- 외장 메모리에 app2sd 폴더로 이동

# sh install.sh  <- 설치 스크립트 실행

*---------App2sd for Motorola Milestone--------*
*  Please visit http://www.hkepc.com/forum/viewthread.php?tid=1416012&extra=page%3D1  *
*  이 스크립트는 시스템에 데미지를 줄수 있습니다.   *
*  설치전 ext2 파티션이 되있는지 busybox는 설치하셨는지 확인해주세요.   *
*  *
*  백업된 /data/data1 /app1 /app-private1 /dalvik-cache1 은   *
*  Root Explorer로 직접 제거하시기 바랍니다.   *
*  *
*  계속 진행하시겠습니까?(y/n) <- 설치 진행~
continue doing app2sd,please waiting...
mount ext2 ok ,continue to next step,waiting...
app2sd finished , I/O patch now?{y/n) N <- IO 패치..절대 No!
app2sd finished , reboot now?{y/n) Y <- 리부팅~
Rebooting,please waiting....

위와 같이 에러 안뜨고 잘~ 진행 되면 좋겠지만..
아래와 같이 에러가 뜨는 경우가 있습니다...

# sh install.sh  <- 설치 스크립트 실행

*---------App2sd for Motorola Milestone--------*
*  Please visit http://www.hkepc.com/forum/viewthread.php?tid=1416012&extra=page%3D1  *
*  이 스크립트는 시스템에 데미지를 줄수 있습니다.   *
*  설치전 ext2 파티션이 되있는지 busybox는 설치하셨는지 확인해주세요.   *
*  *
*  백업된 /data/data1 /app1 /app-private1 /dalvik-cache1 은   *
*  Root Explorer로 직접 제거하시기 바랍니다.   *
*  *
*  계속 진행하시겠습니까?(y/n)
<- 설치 진행~

continue doing app2sd,please waiting...
Unable to chmod /system/bin/busybox: No such file or directory
warnning`/system/lib/modules/ext2.ko'exists,use -f to overwrite
insmod: can't insert '/system/lib/modules/ext2.ko': invalid module format
mkdir failed for /system/sd, File exists
mount: mounting /dev/block/mmcblk0p2 on /system/sd failed: No such device
sorry,mount sd ext2 fail!!!!!
#

우선 처음 No such file or directory 에경우 루팅을 했다면 busybox가 설치 되었지만 bin 폴더가 아닌 binx 폴더에 넣기 때문에 주로 이에러가 뜹니다. busybox가 없는게 아니라면 그냥 무시해도 됩니다.
그리고 그 다음 warnning 은 파일이 이미 있기때문에 뜨는 경고이니 무시하시고..
그다음 invalid module format 이 문제 입니다. 모듈 포멧 확인을 못하는건데 이 때문에 연계되어서 그 다음 에러 No such device가 떠서 결과적으로 SD 카드에 파티션을 마운트 할수가 없기때문에 sorry,mount sd ext2 fail!!!!! 라는 에러가 뜨며 더이상 작업 진행이 불가능 합니다.

원인은 install.sh에서 ext2 모듈을 복사해서 마운트 해주는데..
이게 버젼이 안맞으면 아래와 같이 에러가 뜨니..이럴경우 ext2 모듈을 cm4 최신버젼에서 추출한 버젼을 첨부해 드릴테니 이 모듈을 SD카드에 app2sd 폴더에 파일과 교체한후 다시 시도해 보시기 바랍니다.


에러가 안뜨고 잘 진행이 되었다면 리부팅 한후
다시 adb 연결을 해서 아래와 같이 확인이 가능합니다.


# busybox df -h
Filesystem                   Size      Used    Available Use% Mounted on
tmpfs                         113.1M         0       113.1M   0%   /dev
tmpfs                         113.1M         0       113.1M   0%   /mnt/asec
/dev/block/mtdblock6  163.6M    153.5M     10.1M  94%  /system
/dev/block/mtdblock8  265.1M     68.8M    196.3M  26%  /data
/dev/block/mtdblock7    50.0M      2.9M     47.1M   6%  /cache
/dev/block/mtdblock5     8.8M      8.5M     300.0K  97%  /cdrom
tmpfs                             2.0M     24.0K       2.0M   1%  /tmp
/dev/block/mtdblock0     1.5M      1.3M     180.0K  88%  /pds
/dev/block/mmcblk0p2    1.0G     61.9M    938.8M   6%  /system/sd
/dev/block/vold/179:1     13.7G    897.1M     12.8G   6% /mnt/sdcard
/dev/block/vold/179:1     13.7G    897.1M     12.8G   6% /mnt/secure/asec

# ls -l /data/
-rw-r--r--   system   system        288 2011-04-11 13:38 local.prop
drwx------  root        root             2011-04-11 10:09 property
drwxrwxrwx root        log              2011-04-11 10:02 dontpanic
drwxrwx--x mot_tcmd shell           2011-04-11 10:02 local
drwxrwxrwx root        radio           2011-04-11 10:02 panicreports
drwxrwxrwx root        root             2011-04-11 10:02 anr
drwxrwx--- radio       log              2011-04-11 13:38 logger
drwxrwx--- radio       radio            2011-04-11 13:38 gki
drwxrwx--- mot_accy mot_accy    2011-04-11 10:02 battd
drwxrwx--x radio       radio            2011-04-11 13:38 location
drwx------  system    system        2011-04-11 13:39 backup
drwxrwxrwx radio       radio            2011-04-11 10:02 panic
drwxrwxr-x  system   system        2011-04-11 10:02 download
drwxrwx--t  system    misc           2011-04-11 10:02 misc
drwxrwx---  system   system        2011-04-11 10:02 tpapi
drwxrwxr-x  system   system         2011-04-11 13:39 system
drwxrwx--- radio        shell            2011-04-11 10:02 opprof
drwxrwx--- radio        radio            2011-04-11 10:02 bp_nvm
drwxrwx--x system    system         2011-04-11 11:44 data
drwxrwx--- radio        radio            2011-04-11 10:02 comm_drv
drwxrwxrwx system    system        2011-04-11 11:45 app1
lrwxrwxrwx  root         root              2011-04-11 13:37 app -> /system/sd/app
drwxrwx--x system    system         2011-04-11 11:45 dalvik-cache1
lrwxrwxrwx  root         root              2011-04-11 13:37 dalvik-cache -> /system/sd/dalvik-cache
drwxrwxrwx system    system        2011-04-11 10:02 app-private1
lrwxrwxrwx  root         root              2011-04-11 13:37 app-private -> /system/sd/app-private
drwxrwx---  root         root              2011-04-11 10:02 lost+found
#

그럼...성공하시길~ ^^

 

'Mobile > Android' 카테고리의 다른 글

베가레이서2 소프트 버튼 삭제.  (13) 2012.09.13
안드로이드 폰에서 파일 쉽게 넣고 빼기.  (0) 2011.12.06
어플(apk)을 수동으로 adb에서 설치,제거  (0) 2011.04.11
루팅  (0) 2011.04.04