다른 운영체제/다른 리눅스

[안드로이드] SD카드에 모든 앱 설치하기

deviantCJ 2011. 7. 26. 22:16



안드로이드는 2.2(프로요, Froyo) 이후부터 SD카드에 앱(어플, Applications)을 설치할 수 있다고는 하는데, 사실상 모든 앱을 다 설치할 수 있는 것은 아닙니다.
일부 앱개발자가 SD카드에 설치할 수 있도록 개발한 앱만이 SD카드에 설치되도록 되어있죠. 그렇기 때문에 생각보다 용량이 적게 느껴집니다.

저같은 경우는 '넥서스원(Nexus One)'을 사용하는데, 기본 내장메모리가 512MB라고는 하지만 안드로이드 자체에서 차지하는 용량도 상당하기 때문에 여유공간이 많이 빠듯합니다. 약 197MB밖에 사용할 수 없죠.
그러다보니 몇가지 SD카드에 설치되지 않는 앱을 깔다보면 금새 용량부족이 떠버리고 맙니다. SD카드는 무려 10GB가 넘게 남아있는데 말이죠!!

왜 이렇게 주절거리냐고요??바로 방법이 있기 때문이죠!!+_+


SD카드에 모든 앱 설치하는 법

우선, SDK가 설치되어야 합니다. 지난 포스팅([안드로이드] SDK 설치하기)을 참고하셔서 SDK를 먼저 설치하세요!!
그리고 '디버깅모드'로 안드로이드폰이 컴퓨터에 연결합니다.

중요한 것은 이제 터미널로 작업해야합니다.
윈도(Windows)의 경우는 '명령 프롬프트(Command Prompt)'에서 작업해야하고요, 우분투(Ubuntu)나 리눅스(Linux)의 경우 '터미널'을 사용해야 합니다.

우분투 사용자

우선 'platform-tools'폴더로 이동해야 합니다. 우분투 사용자분들은 간단한 명령어에 익숙해서 쉽겠죠?
'홈폴더 - 다운로드'폴더에 '안드로이드SDK'폴더가 있다고 가정하고 설명하겠습니다. 혹시 경로가 다르다면 알맞게 수정하시면 됩니다.

$ cd ~/다운로드/android-sdk-linux_x86/platform-tools

위와 같이 이동한 후 ADB Shell을 실행시켜야 합니다.

$ ./adb shell

제대로 되었다면 터미널에 '$'만 표시됩니다. 이 상태에서 아래의 명령어를 입력해줍니다.

$ pm setInstallLocation 2
$ exit

자, 이제 기본적으로 모든 앱은 SD카드에 설치되고, 기존에 설치되었던 모든 앱도 이동시킬 수 있습니다!!

윈도 사용자

윈도사용자에게는 '명령 프롬프트'환경이 더없이 낯설게 느껴집니다.
기본적으로 '시작버튼 - 모든프로그램 - 보조프로그램 - 명령 프롬프트'를 실행하면 'C:\Users\사용자명>'의 경로가 표시됩니다. 여기부터 시작하겠습니다.

> cd ../../Program Files/Android/android-sdk/platform-tools
> adb shell

그 이후에 새로운 명령입력칸이 표시되면 아래 명령어를 입력합니다.

> pm setInstallLocation 2
> exit


SD카드에 앱을 옮길 때 참고할 점

1. SD카드는 종종 연결이 끊길 때가 있습니다.
이를테면 컴퓨터에 연결한다든지 안드로이드폰을 재부팅하는 과정에서도 내부메모리보다 조금 늦게 불러오게 되어있죠. 그렇기 때문에 위젯(Widget)이나, 기타 필수 앱의 경우는 SD카드보다는 내부메모리에 설치할 것을 권장해드립니다.

2. SD카드는 내부메모리보다 불러오는 속도가 조금 느립니다.
아무래도 안드로이드가 설치되어있는 내부메모리보다는 SD카드에서 앱을 불러오는 속도가 더 느리게 됩니다. 그렇기 때문에 빠른 실행이 필요한 것은 내부메모리에 설치하세요.

3. SD카드는 보다 보안에 취약할 수 있습니다.
아무래도 PC와 연결하여 데이터의 교환이 잦다 보니, 일부 악성코드나 바이러스 등이 침입할 확률이 높습니다. 때문에 보안이 필요한 은행 등에 관한 앱 또한 내부메모리에 설치할 것을 권장합니다.

4. 앱을 SD카드로 옮기더라도 모두 옮겨간 것은 아닙니다.
앱에서 데이터 관련 부분은 SD카드로 대부분 옮겨가지만 실행에 관련된 부분은 그대로 내부메모리에 남아있습니다. 혹시나 생각보다 용량이 많이 남지 않는다고 저를 원망하지 마세요...ㅠㅠ