概述
每个Android应用都需要一个名为AndroidManifest.xml的程序清单文件,这个清单文件名是固定的并且放在每个Android应用的根目录下。它定义了该应用对于Android系统来说一些非常重要的信息。Android系统需要这些信息才能正常运行该应用。Android程序清单文件主要具有下面作用:
· 它给应用程序Java包命名,这个包名作为应用程序唯一标识符。
· 它描述了应用程序中的每个程序组件—Activity,Service,Broadcast Receivers和Content Provider。它描述了实现每个应用程序组件的类名称和组件能力(比如组件能够处理哪种类型的Intent消息)。这些描述帮助Andoid操作系统了解这些程序组件和在何种条件下可以启动这些程序组件。
· 它决定哪些进程用来运行应用程序组件。
· 它描述了应用程序使用某些受保护的程序API或和其它应用程序交互所需的权限。
· 它也描述了其它应用程序和该应用交互时应拥有的权限。
· 它列出了Instrumentation类用于提供应用程序运行时一些性能统计和其它信息。这些生命只在测试或开发应用时使用。在发布应用时应该删除。
· 它给出了应用运行所需AndroidAPI版本的最低要求。
· 它列出了应用程序需要调用的开发库定义。
Android 是一个权限分隔的操作系统,其中每个应用都有其独特的系统标识(Linux 用户 ID 和组 ID)。系统各部分也分隔为不同的标识。Linux 据此将不同的应用以及应用与系统分隔开来。
其他更详细的安全功能通过“权限”机制提供,此机制会限制特定进程可以执行的具体操作,并且根据 URI 权限授权临时访问特定的数据段。
使用权限
基本 Android 应用默认情况下未关联权限,这意味着它无法执行对用户体验或设备上任何数据产生不利影响的任何操作。要利用受保护的设备功能,必须在应用清单中包含一个或多个 <uses-permission> 标记。
例如,需要监控传入的短信的应用要指定:
![5777390-dce6f529e2aff44a.png](https://i-blog.csdnimg.cn/blog_migrate/d45aa818573ce23c40f2585bc1e7213f.png)
权限列表
可以查看官网地址 以下是常用的权限列表
![5777390-97385f0e68d13fb5.png](https://i-blog.csdnimg.cn/blog_migrate/ea3dfb580ab311f36935be7db33537e8.png)
![5777390-ee95157953d01dbf.png](https://i-blog.csdnimg.cn/blog_migrate/b8c202704965edc63aabefb267175e25.png)
![5777390-1ee1e3c82dfcccd7.png](https://i-blog.csdnimg.cn/blog_migrate/5d80aceee0530396251012b11f15f3b5.png)
![5777390-4c78a5d05904b86c.png](https://i-blog.csdnimg.cn/blog_migrate/ddfd5c2cc499c84ad5e0f38a24d7ac88.png)
![5777390-80a02620e4c90298.png](https://i-blog.csdnimg.cn/blog_migrate/2ff5d15ee71af479903c0d005dd61ef7.png)
![5777390-18c303e2d9058a86.png](https://i-blog.csdnimg.cn/blog_migrate/958be0357eb452a58eff83b4f5d08ec8.png)