最近匯入網上的源碼工程,發現在manifest上有一些錯誤,這裡也順便和大家分享下:
一、android:installLocation這個參數,其實我們一般用不到的,這裡解釋下:它是android2.2引入的,注意你的版本android:targetSdkVersion,這個要大於等於8才可以。關於這個參數的作用:從android的開發文檔來看:
<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才可以。