专题四—介绍Manifest文件的使用

来源:互联网 发布:mac配置path 编辑:程序博客网 时间:2024/05/21 14:55
一、课程目标:
        Manifest文件的使用及系统解析此文件的过程

二、重点难点:
        了解清楚系统解析Manifest文件的过程

三、考核目标:
        Manifest这个文件系统是什么时候加载的 , 里面定义的Activity & Service是什么时候实例化的?

四、课后练习:
        通过代码跟踪Mannifest文件实例化过程
一、 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>

二、 Manifest的作用及使用举例
包的唯一指定名

Android四大组件的定义:Activity , Service , Broadcast Receiver , Content Provider

定义应用程序具备的权限

定义Instrumentation做自动化测试

  定义应用程序所需的最小API版本号

列出应用程序所需要的类库

三、 Manifest是如何解析的?
1,系统启动的时候,PackagedManageService读取Manifest信息
2,应用程序启动时候,Launcher进行系统级判断,比如最小SDK等
3,四大组件在需要的时候实例化

本课作业:试图从系统启动到Launcher判断,跟踪Manifest在哪里被加载到内存中?
怎么去查询里面的信息?

原创粉丝点击