相信接触了android编程的程序员都用过android项目中的manifest.xml文件,manifest的中文解释为清单,因此这个文件其实就相当于是该应用程序的清单,上面列出了该应用程序的各种信息,今天作为电脑小白的我在经过了学习后也来谈谈自己对于manifest文件的理解,主要分为以下两点:
先上图一张:
<manifestxmlns: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>
CONTAINED IN:none
MUST CONTAIN:<application>
CAN CONTAIN:
<compatible-screens>
<instrumentation>
<permission>
<permission-group>
<permission-tree>
<supports-gl-texture>
<supports-screens>
<uses-configuration>
<uses-feature>
<uses-permission>
<uses-sdk>
1 manifest文件的作用。
我们注意到上图中的 CAN CONTAIN包含的内容,可以看出manifest文件具有以下作用
a 应用程序具备的权限
b 应用程序所需的最小API版本
c 定义instrumentation做自动化测试
另外还有
d 定义android的4个组件
e 指定程序的唯一包名(每个程序都由一个唯一的包名标志)
2 android系统如何解析manifest文件。
在android系统启动的时候,将会有一个系统级的服务 packagemanageservice启动,它将读取安装了的所有的应用程序的信息,并且会在某个系统级的共享的内存中建立一个manifest信息库
之后当应用程序启动时,launcher会在信息库中查询跟要启动的activity相关的那个manifest文件。且当四大组件需要被使用时就会去查询相关的信息,然后被实例化。
一起学习,有错误请指出
免责声明:本站发布的内容(图片、视频和文字)以原创、转载和分享为主,文章观点不代表本网站立场,如果涉及侵权请联系站长邮箱:is@yisu.com进行举报,并提供相关证据,一经查实,将立刻删除涉嫌侵权内容。