AndroidManifest設定檔解析之二——<manifest>

來源:互聯網
上載者:User

標籤:android   style   blog   http   java   color   

文法
<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>
被包含的標籤

  none

必須包含的標籤

  <application>

能夠包含的標籤
<compatible-screens>  //相容的螢幕        <instrumentation>  //測試裝置<permission>  <permission-group><permission-tree><supports-gl-texture>  <supports-screens><uses-configuration><uses-feature><uses-permission><uses-sdk>
描述

  AndroidManifest.xml檔案的根element。它必須包含<application> element ,必須指明 xmls:android 和 package attribute。

屬性說明  xmls:android

    預設的Android的命名空間。此屬性值應設定為:

    "http://schemas.android.com/apk/res/android"。

  package

    標示application的一個java語言格式的包名。這個報名必須是唯一的。可以包含大小寫字母,數字和底線。第一個元素應該是字母。

    包名應該用公司網址的倒寫開始,例如Google開發的程式包名應該以 com.google 開始。永遠不要以com.example作為發布工程的包名。

    application的包名應該是唯一的,它也是工程進程的名稱(請看<application> element 的 process attribute),還定義了一個activity的task affinity(任務共用性)(請看<activity> element 的 taskAffinity attribute)。

    注意:一旦你發布了Application,則Application的包名就不能改了。如果你改變了包名,則會被認為是一個新的Application,並且使用者也不能根據舊的版本來更新為新的版本。

  android:shareUseeId

    將被分享到其他Application的Linux使用者ID的名稱。預設的,每個Android Application都有它唯一的使用者ID。但是,這個attribute的同一值同時被設定在兩個或者多個Application時,他們將共用這個ID,並且他們也應該使用相同的簽名。使用同一使用者ID的Applications,將能夠互相訪問彼此的資料,也運行在同一個process中。(查看更詳細內容)

  android:versionCode

  版本號碼。Application通過這個屬性值來判斷Application是否有新的版本。新的版本號碼比舊的版本號碼更高。這不是給使用者展示的App的版本號碼,展示給使用者的實在versionName中設定。

  這個屬性的值必須是整數。你可以隨意定義,但是要保證新的版本號碼比舊的大。

  android:versionName

  展示給使用者的Application的版本號碼。這個屬性值可以是一個String資源。除了展示給使用者,別無它用。

  android:installLocation

  application預設的安裝位置。必須為以下值之一。

    "internalOnly"——預設值。定義了Application必須安裝到記憶體中。如果記憶體不夠,則安裝失敗。

    "auto"——Application預設安裝在記憶體中,如果記憶體不夠,就安裝到外部儲存介質上(例如:SD Card)。當程式安裝後,使用者也可以通過設定來將app隨意移動到記憶體或者外部儲存介質上。

    "preferExternal"——Application被安裝到外部儲存介質(SDCard)上。但是不能保證安裝成功。如果外部儲存介質不可用或者已滿,則Application會被安裝到記憶體。當程式安裝後,使用者也可以通過設定來將app隨意移動到記憶體或者外部儲存介質上。

    也就是,如果你不設定此attribute屬性值為“auto”或者“preferExternal”,Application就只能安裝在記憶體中。

  當Application被安裝在外部儲存介質中:

    1.apk檔案被儲存到外部儲存介質中,但是application資料(如資料庫等)會儲存到記憶體中。

    2.儲存.apk檔案的容器將會使用一個隨機產生的密鑰進行加密,這樣只有安裝該程式的設定可以使用存在外部儲存介質上的資料。

    3.在使用者允許的情況下,application可以被移動到記憶體中。

  在此屬性值沒有設定為internalOnly(預設值)時,Application可以從記憶體中移動到外部儲存介質中,但是設定為internalOnly或者不設定任何值是,Application就不允許從記憶體移動到外部儲存介質中。

  閱讀App Install Location 瞭解此屬性的更多資訊。

引入

  API Level 1 

SEE ALSO:

  <application>

聯繫我們

該頁面正文內容均來源於網絡整理,並不代表阿里雲官方的觀點,該頁面所提到的產品和服務也與阿里云無關,如果該頁面內容對您造成了困擾,歡迎寫郵件給我們,收到郵件我們將在5個工作日內處理。

如果您發現本社區中有涉嫌抄襲的內容,歡迎發送郵件至: info-contact@alibabacloud.com 進行舉報並提供相關證據,工作人員會在 5 個工作天內聯絡您,一經查實,本站將立刻刪除涉嫌侵權內容。

A Free Trial That Lets You Build Big!

Start building with 50+ products and up to 12 months usage for Elastic Compute Service

  • Sales Support

    1 on 1 presale consultation

  • After-Sales Support

    24/7 Technical Support 6 Free Tickets per Quarter Faster Response

  • Alibaba Cloud offers highly flexible support services tailored to meet your exact needs.