每個應用程式在它的根目錄中都必須要有一個AndroidManifest.xml檔案。這個清單把應用程式的基本資料提交給Android系統,在應用程式的代碼能夠運行之前,這個資訊系統必須建立。以下是資訊清單檔要做的一些事情:
1. 用Java包給應用程式命名。這個包名是應用程式的唯一標識;
2. 描述應用程式的組件---組成應用程式的Activity、Service、Broadcast Receiver以及Content Provider。它要用每個組件的實作類別來命名,並向外發布對應組件功能(例如,組件所能處理的Intent訊息)。這些聲明會讓Android系統瞭解應用程式中組件,以及這些組件被載入的條件。
3. 判斷哪些進程是主應用程式組件。
4. 聲明應用程式所必須的許可權,以便能夠訪問被保護的API,以及能夠跟其他應用程式進行互動。
5. 為了跟應用程式組件進行互動,還聲明了其他要求有的許可權。
6. 列出了能夠提供應用程式運行時的分析和其他資訊的Instrumentation類。只有在開發與測試應用程式時才在資訊清單檔中聲明這些類,在應用程式被發布之前,要刪除這些類。
7. 聲明應用程式所要求的最小的Android API層級。
8. 列出應用程式必須連結的外部庫。
Manifest檔案的結構
中包含了資訊清單檔的一般性結構,並且包含所有能包含的元素。每個元素所帶有的全部元素會在它們各自的文檔中介紹。
<?xml version="1.0" encoding="utf-8"?>
<manifest>
<uses-permission/>
<permission/>
<permission-tree/>
<permission-group/>
<instrumentation/>
<uses-sdk/>
<uses-configuration/>
<uses-feature/>
<supports-screens/>
<compatible-screens/>
<supports-gl-texture/>
<application>
<activity>
<intent-filter>
<action/>
<category/>
<data/>
</intent-filter>
<meta-data/>
</activity>
<activity-alias>
<intent-filter> . . . </intent-filter>
<meta-data/>
</activity-alias>
<service>
<intent-filter> . . . </intent-filter>
<meta-data/>
</service>
<receiver>
<intent-filter> . . . </intent-filter>
<meta-data/>
</receiver>
<provider>
<grant-uri-permission/>
<meta-data/>
</provider>
<uses-library/>
</application>
</manifest>
以下按字母順序列出了資訊清單檔中的所有元素,這些元素時Android系統法定元素,不能添加自訂的元素或屬性。
<action>
<activity>
<activity-alias>
<application>
<category>
<data>
<grant-uri-permission>
<instrumentation>
<intent-filter>
<manifest>
<meta-data>
<permission>
<permission-group>
<permission-tree>
<provider>
<receiver>
<service>
<supports-screens>
<uses-configuration>
<uses-feature>
<uses-library>
<uses-permission>
<uses-sdk>
摘自 FireOfStar的專欄