안드로이드 버전 2.2 이상부터는 앱을 외부 저장장치에도 저장할 수 있게 됐습니다.
위의 링크를 따라가 보시면, 인스톨 위치를 설정하는 방법에 대한 원문을 보실 수 있습니다.
저는 좀 간단하게 설명을 드리죠.
인스톨 위치를 설정하기 위해서는 manifest 파일을 수정하시면 됩니다.
<manifest xmlns:android="http://schemas.android.com/apk/res/android"
android:installLocation="preferExternal"
... >
위에서 보면 android:installLocation="preferExternal" 부분이 중요한 부분이죠.
android:installLocation의 값을 무엇으로 주냐에 따라 인스톨 위치가 결정됩니다.
여기 예제에서는 preferExternal 였구요, 이는 외부 저장 장치(SD카드 등)에 기본적으로 저장을 하고, 만약 외부 저장 장치가 꽉 차면 내부에 저장을 하겠다는 뜻입니다.
preferExternal 말고도 auto와 internalOnly도 값으로 들어갈 수 있습니다.
auto는 기본적으로 내부에 저장을 하고, 내부에 공간이 없으면 외부에 저장을 하겠다는 뜻입니다.
internalOnly는 무조건 내부에만 저장을 하겠다는 뜻이죠.
참고!!!
현재 개발 중인 안드로이드 라이브러리 버전이 2.2보다 낮다면 android:installLocation을 넣어주면 없는 속성이라고 에러를 발생시킵니다.
그래서 프로젝트 오른 클릭 - Properties - Android - Project Build Target을 2.2 이상으로 해줘야합니다.
또한 manifest에서 android:minSdkVersion을 4정도로 해주는게 좋습니다. 보통 3이하로 하게 되면 필터링 문제가 생기기 때문에 4이상이 좋은 것 같습니다.
즉, 최종적인 메니페스트는 다음과 같이 구성되겠죠?
<manifest android:installLocation="preferExternal"
.......>
<application .......>
</application>
<user-sdk android:minSdkVersion="4" />
</manifest>
본 블로그는 페이스북 댓글을 지원합니다.