Android 应用在系统内的存在方式

碎碎念:关于 Android 应用在系统内的存在方式。

Android 应用在安装到设备后,每个 Android 应用都运行在自己的安全沙箱内.

你需要知道的是:

  • Android 操作系统是一种多用户的 Linux 系统,其中的每个应用都是一位不同的用户;
  • 默认情况下,系统会为每个应用分配一个唯一的 Linux 用户 ID (该 ID 仅由系统使用,应用并不知晓)。系统为应用中的所有文件设置权限,使得只有分配给该应用的用户 ID 才能访问这些文件;
  • 每个进程都具有自己的虚拟机(VM),因此应用代码是在与其他应用隔离的环境中运行;
  • 默认情况下,每个应用都在其自己的 Linux 进程内运行。Android 会在需要执行任何应用组件时启动该进程,然后在不再需要该进程或系统必须为其他应用恢复内存时关闭该进程。

Android 系统可以通过这种方式实现 最小权限原则。也就是说,默认情况下,每个应用都只能访问执行其工作所需的组件,而不能访问其他组件。这样便营造出一个非常安全的环境,在这个环境中,应用无法访问系统中其未获得权限的部分。

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

  • 可以安排两个应用共享同一 Linux 用户 ID,在这种情况下,他们能够相互访问彼此的文件。为了节省系统资源,可以安排具有相同用户 ID 的应用在同一 Linux 进程中运行,并共享同一 VM(应用还必须使用相同的证书签署);
  • 应用可以请求访问设备数据(如用户的联系人,短信,SD 卡,相机,蓝牙,etc.)的权限。所有应用权限都必须由用户在安装是授予。
文章有帮助到您?不妨打赏博主一碗拉面或一杯咖啡的小费吧 :-D!