AndroidManifest.xml檔案詳解(一)

來源:互聯網
上載者:User

每個應用程式在它的根目錄中都必須要有一個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的專欄

聯繫我們

該頁面正文內容均來源於網絡整理,並不代表阿里雲官方的觀點,該頁面所提到的產品和服務也與阿里云無關,如果該頁面內容對您造成了困擾,歡迎寫郵件給我們,收到郵件我們將在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.