android应用程序使用java语言编写,然后使用android sdk工具把编译好的代码,数据以及资源文件打包成一个apk文件,在android设备上用apk文件进行安装后即可使用该应用程序。
每个安装完的应用程序都在自己的一个安全沙箱里面运行。
- android操作系统是一个多用户的linux系统,缺省情况下,操作系统为每个应用程序都分配一个单独的用户。只有这个用户才有权限访问该应用程序下的所有文件。
- 每个应用程序拥有自己的虚拟机,所以各个应用程序是彼此独立运行的。
- 缺省情况下,每个应用运行在自己独立的linux进程当中,当应用中的组件需要运行的时候,android启动进程,当不再需要或者必须回收内存的时候,android会停止进程。
从安全角度考虑,android为每个应用分配尽可能少的访问权限,应用程序无法访问没有指定权限的系统资源。但是,一个应用可以和其它应用共享数据,同时也可以调用系统服务。
- 可以让两个应用使用同一个linux用户id,这样就可以访问对方的所有文件。为了节省系统资源,也可以让两个应用共享一个进程id和一个虚拟机。
- 一个应用也可以申请许可访问系统设备数据,比如:通讯录,短消息,sd卡,相机,蓝牙等。访问许可在安装应用的时候由用户赋予。