2013年10月15日

Android─指定apk安裝位置

在Android 2.2以上的版本,支援apk可以搬移到外部的儲存空間,
例如手機儲存空間或者SD card。
Programmer也可以在撰寫app時,指定apk安裝在內部或者外部的儲存空間。 

我們只需要在manifest 加入 android:installLocation 
此宣告有三個選項

  • internalOnly:指定apk安裝在內部儲存空間
  • auto:根據系統預設值決定安裝的位置
  • preferExternal:指定apk安裝在外部的儲存空間
如果想知道系統的預設值,可以去android 的framework底下的DefaultContainerService.java
 trace source code

在android官方的文件有寫到
如果app裡面包含了以下的項目,apk是需要放在internal storage,否則無法正常運行
  • Services
  • Alarm Services
  • Input Method Engines
  • Live Wallpapers
  • Account Managers
  • Sync Adapters
  • Device Administrators
  • Broadcast Receivers listening for "boot completed"
如果想要知道更詳細的資訊,請參考下面網頁

沒有留言:

張貼留言