Android中的AndroidManifest.xml文件解析

来源:互联网 发布:apache web server 编辑:程序博客网 时间:2024/04/30 05:19

http://blog.sina.com.cn/s/blog_4b650d650100k6ot.html

 

学习这种开源的东西就是比较麻烦,找资料很困难,原本打算在网上从同仁们那里多借鉴一些东西,但中国人不认真以及抄袭别人而又装成自己蛮懂的样子的做法实在是得不到几篇好的文章.我写的文档我不敢保证是完全正确,但至少是经过我的消化和理解的,自己没有理解的东西是不敢放到网上装模作样的炫耀的.

    AndroidManifest.xml我理解实际上相当于是一个对项目的某些信息的配置.翻译了一下官方的英文文档,它的功能大概如下,如翻译有误请多包含:(有一条关于instrumentation的东西尚未学习,所以没写上):

   

    AndroidManifest.xml主要有这样一些事情要做:

    。给应用程序(application)命名Java Package的名称.包的民族是专门唯一的为本应用服务的.

    。为应用描述组成应用的那些组件—activites, services, broadcast receivers, and content providers.命名那些执行这些组件任务的类(classes),并公布这些类的能力,例如这些类所能处理的intent消息)。这些声名告诉Android系统这些组件可以执行什么以及在什么条件下可以被launched。

    。决定那些进程将留宿这些应用程序组件.

    。声名你的应用程序必须具备的权限以便能够与其他的应用程序的组件进行交互.

    。声名本应用程序的最小的Android API的版本,目前最新的是8.

    。列举应用程序必须连接的库.

 

    在xml文件中,一对尖括号括起来的关键字被称为标记,其实大家也不用完全害怕,我看了一下官方网站,AndroidManifest.xml文件中包含的标记并不是特别多,只要花一两天时间慢慢研究一下,应该会游刃有余的:

    <action>                    <activity>              <activity-alias>   

    <application>               <category>              <data>

    <grant-uri-permission>      <instrumentation>       <intent-filter>

    <manifest>                  <meta-data>             <path-permission>

    <permission>                <permission-group>      <Permission-group>

    <permission-tree>           <pervider>              <receiver>

    <service>                   <supports-screen>       <uses-configuration>

    <uses-configuration>        <uses-configuration>    <uses-feature>

    <uses-library>              <uses-permission>       <uses-sdk>

 

    而AndroidManifest.xml的通用格式如下:

    <?xml version="1.0" encoding="utf-8"?>
    <manifest>
        <uses-permission />
        <permission />
        <permission-tree />
        <permission-group />
        <instrumentation />
        <uses-sdk />
        <uses-configuration />
        <uses-feature />
        <supports-screens />
        <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>

原创粉丝点击