Android 操作系统是一种多用户 Linux 系统,其中的每个应用都是一个不同的用户;

  1. Android 操作系统是一种多用户 Linux 系统 > 其中的每个应用都是一个不同的用户
  2. 默认情况下,系统会为每个应用分配一个唯一的 Linux 用户 ID(该 ID 仅由系统使用,应用并不知晓) > 系统为应用中的所有文件设置权限,使得只有分配给该应用的用户 ID 才能访问这些文件;

  3. 每个进程都具有自己的虚拟机 VM,因此应用代码是在与其他应用隔离的环境中运行; > 默认情况下,每个应用都在其自己的 Linux 进程内运行。

  4. Android 会在需要执行 应用组件 时启动该应用进程,然后在不再需要该进程或系统必须为其他应用恢复内存时关闭该进程。 > Android 系统可以通过这种方式实现最小权限原则。

默认情况下,每个应用都只能访问执行其工作所需的组件,而不能访问其他组件。

营造出一个非常安全的环境,在这个环境中,应用无法访问系统中其未获得权限的部分。

不过,应用仍然可以通过一些途径与其他应用共享数据以及访问系统服务

可以安排两个应用共享同一 Linux 用户 ID,在这种情况下,它们能够相互访问彼此的文件。 1. 为了节省系统资源,可以安排具有相同用户 ID 的应用在同一 Linux 进程中运行,并共享同一 VM(应用还必须使用相同的证书签署)。

  1. 应用可以请求访问设备数据(如用户的联系人短信可装载存储装置 [SD 卡]相机蓝牙等)的权限。

  2. 用户必须明确授予这些权限。

系统权限