AndroidManifest.xml是一个什么文件?
它是每个apk(zip)文件解压后根目录下的一个文件,每个apk都必须包含一个AndroidManifest.xml文件,且名字必须与此完全一致.
为什么每个android应用都必须有一个AndroidManifest.xml文件?
windows下的的exe程序也没有类似的manifest文件啊,那么为什么android非要弄一个AndroidManifest.xml这个文件呢?
AndroidManifest.xml的重要作用:描述app的包名:
Android设备据此区分不同的app,如果每个app是一个人的话,包名就相当于是这个人的名字(为了防止恶意软件仿冒其他app,只有新的app的包名和签名均与旧的app相同时才能升级覆盖安装成功).
描述app使用的android系统版本信息:
因为android系统在不断的升级,新的系统版本会增加新的API,但是旧的Android设备上并没有这些API,那么就会出现新版本的应用使用新的API但是在旧的系统上运行的问题(在旧的系统上调用新的API应用会崩溃),因此需要说明本应用支持的最低android系统版本是哪个,比如说将minSdkVersion设置为19就是说这个应用在API19以及以上的设备上运行没有问题.
描述app本身的版本信息,这样对于同一个app的两个版本,系统就能区分那个是新版本,哪个是旧版本.
很重要的一个作用是描述应用对外暴露的组件(或者叫接口):
Activity,Service,Provider,BroadcastReceiver这四大组件的每一个都可以独立运行,都可以作为app启动的入口点。
AndroidManifest.xml可以告知系统点击应用图标后进入哪个Activity;可以告知系统本应用某个类(BroadcastReceiver的子类)需要监听网络变化等信息(广播);告知系统本应用可以其他应用提供服务(ContentProvider和Service);告知系统本应用某些类能够处理一些特定的请求(比如打开pdf扩展名的文件);等等
其他各种需要用文本直接告知系统的:比如申请的权限,应用的主题等等。
归根结底就是Android系统的app需要通过文本方式直接告诉系统的信息太多了
更多web开发知识,请查阅 HTML中文网 !!