androidpub의 금강석정님의 comment를 그대로 가져왔습니다.
혹시 작성하신 분께서 불편하시다면 지우겠습니다.
이걸 이용해서 어느정도 불법 복제에서 자유로울 수 있지 않을까 합니다.
참조: http://www.androidpub.com/368036

froyo에는 개발자가 app을 어디에 설치할 것인가를 정하는 것이 있는 데 manifest에 android:installLocation을 설정하는 것입니다. 

개발자가  (manifest에 android:installLocation으로) "internalOnly"(default임) 또는 "auto" 또는 "preferExternal"로 설정할 수가 있는 데 이중에서 "auto" 와 "preferExternal"로 설정한 app만 외장메모리에 설치할 수가 있습니다. "auto"는 default인 내장메모리가 full인 때에 자동으로 외장메모리에 설치하도록하는 것입니다.  "preferExternal"는 외장메모리에 우선적으로 설치하도록 하는 것이며 이때 외장메모리가 full이거나 사용불가하면 내장메모리에 설치합니다. 

app이 외장메모리에 설치될 때

1) .apk는 외장에설치되지만 DB등 app data는 여전히 내장메모리에설치됩니다.

2) .apk를 담아두는 영역은 key로 암호화되어 설치한 기기에서만 실행되며 SD 카드를 다른기기에 이동시켜서는 실행이 되지않습니다.

    단, 한 대의 기기에 여러개의 SD카드는 지원합니다.

3) 사용자의 요구에 따라 app은 내부메모리로 이동할 수도 있습니다.

  내장메모리, 외장메모리 자유롭게 이동하려면 개발자가  "auto" 또는 "preferExternal"로 설정해주어야하는 데   이전 버전에는 없었던 manifest의  android:installLocation에  "internalOnly"로 설정하든가 아예 manifest의  android:installLocation을 설정하지 않는다면(기존의 app들의 경우에 해당) 모두 내장메모리에만 설치되는 것입니다.


OS upgrade와 app upgrade모두 요구되는 상황입니다.


+ Recent posts

티스토리 툴바