Application Fundamentals

  Android应用程序使用Java语言编写。Android SDK工具编译代码(包括任何数据和资源文件),将其打包成Android package,一种以.apk结果的存档文件。所有的代码只是一个.apk文件,培训班被认为是一个应用程序,并且Android授权应用程序使用它来安装应用程序。

  一量在一台设置上安装,每个应用程序生存在它自己的沙箱:

  1、Android是一个多用户的Linux系统,其中每一个应用程序都是一个不同的用户。

  2、默认系统赋予每个应用程序一个与惟一的Linux user ID(ID只被系统使用,对应用程序不可见)。系统设置给应用程序所有文件设置权限,使得只有被该应用程序的user ID才能访问他们。

  3、每个进程有他们各自的虚拟机(VM),所以每个应用程序独立于其它应用程序运行。

  4、默认每个应用程序在它自己的Linux进程中运行。Android开户进程当进程的任意一个组件需要被执行的时候,然后关闭进程当它不再被需要的时候或系统需要恢复内存给其它应用程序使用的时候。

  按照这种方式,Android实现了“priciple of least privilege”,也就是,每个应用程序默认只能访问他要求用来工作的组件,除此之外,什么也没有。这种机制创建一个非常安全的环境,使得一个应用程序无法访问系统中没有授权的部门。

  然后,仍然有让一个应用程序和其它应用程序分享数据的方法,也有让一个应用程序访问系统服务的方法:

  1、两个应用程序可以共享同一个Linux User ID,这样他们就能相互访问对方的文件。为了保护系统资源,具体同样Linux UID的应用程序被安排同一个进程中,并且共享同一个VM(另外他们必须有同样的签名证书)。

  2、一个应用程序可以请求访问在设备数据例如用户联系人、SMS消息、SK卡、照相机、蓝牙以及更多,但是必须在安装时得到用户的授权。

  上面叙述了应用程序怎样在Android中存在。

更多相关文章

  1. Android 提供的一系列辅助系统开发工具
  2. android中怎样将自己的应用程序的签名改为系统签名一样
  3. 深入理解 Android 系统升级
  4. 使用PHP开发Android应用程序技术介绍
  5. Android开发基础-系统结构
  6. 知识储备:Android系统架构

随机推荐

  1. android 如何拖动控件的实现
  2. android 写入data/data/包名/file/中
  3. android boot
  4. Android 使用Handler模仿流行的AsyncHttp
  5. android googlemap的location报空指针解
  6. android技术博客汇总
  7. 如何使用 Android Studio 的 git hub 功
  8. Android(安卓)用GridView做横向滚动
  9. Android debug :arm-linux-androideabi-a
  10. How to create a custom notification on