Android編程之manifest上遇到的錯誤

最近導入網上的源碼工程,發現在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才可以。

發佈留言

發佈留言必須填寫的電子郵件地址不會公開。 必填欄位標示為 *