最近導入網上的源碼工程,發現在manifest上有一些錯誤,這裡也順便和大傢分享下:
一、android:installLocation
這個參數,其實我們一般用不到的,這裡解釋下:
它是android2.2引入的,註意你的版本android:targetSdkVersion,這個要大於等於8才可以。
關於這個參數的作用:
從android的開發文檔來看:
[html]
<span style="font-size:12px;"><manifest xmlns:android="http://schemas.android.com/apk/res/android"
package="string"
android:sharedUserId="string"
android:sharedUserLabel="string resource"
android:versionCode="integer"
android:versionName="string"
android:installLocation=["auto" | "internalOnly" | "preferExternal"] >
. . .
</manifest></span>
internalOnly:表示隻把當前應用程序安裝在內存中,不能安裝在SD卡上。如果內存滿瞭,它就不能正常安裝瞭。而且它就是默認值。
auto:表示可以安裝在SD卡,默認會安裝在手機內存中。如果內存滿瞭,它會選擇安裝在SD上。
preferExternal:表示程序會安裝在SD卡上,如果SD卡不能用,或者滿瞭的話,它也可能會安裝在內存中。此外,用戶也可以自由切換安裝的位置。
這段簡單說來就是,默認情況下,程序會安裝在內存中,除非你隻記得定義瞭。
還有就是,即使你安裝程序在SD卡上,但應用保存的數據還是會保存在手機內存上。
對於apk程序而言,都有一個隨機密鑰,它可以確保程序隻能由安裝它的程序來操作。如果SD卡被卸載瞭,那麼應用程序也就沒有瞭。我們會發現在拿掉SD卡時,手機上的程序少瞭很多,就是這個原因造成的。
二、android:xlargeScreens
這個就簡單瞭,這個是android2.3引入的,註意你的版本android:targetSdkVersion,這個要大於等於10才可以。