Android System Architecture

Posted Dufre.WC

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了Android System Architecture相关的知识,希望对你有一定的参考价值。

android System Architecture包括以下几个部分:

  • Application framework:Application framework是Android应用开发经常用到的,简单来说是给应用开发人员提供了丰富的接口,使之能专注业务,而不是底层实现。
  • Binder IPC:IPC是指进程间通信(Inter-Process Communication) ,像应用程序使用系统服务(System Service)就需要用到Binder来交互。Binder的内部实现比较复杂,但对应用程序开发人员来说,使用Binder好像调用一个函数,内部的交互对应用开发人员来说是隐藏的。
  • System Services:Android的系统服务是模块化的,一个Service像一个中层管理者。举个例子,一个app需要位置信息,但是真正的位置信息是硬件(GPS芯片)提供的。那app会通过LocationService去访问底层硬件。Android包括两组服务:
    • Media Server(AudioFlinger/Camera Service/MediaPlayer Service…)
    • System Server(Search Service/Activity Manager/Window Manager…)
  • HAL(Hardware abstraction layer):HAL层定义了硬件的访问接口,因为每个硬件供应商的底层驱动程序不一样,设计统一的接口是为了使上层系统不受底层驱动的影响。
  • Linux Kernel:Android的内核是Linux,可以简单理解为Android是Linux的发行版(类似Ubuntu,但Android是否是Linux的发行版是存在争议的,这其中涉及到开源,许可证等问题)

以上是关于Android System Architecture的主要内容,如果未能解决你的问题,请参考以下文章

Questioning the lambda architecure

Linux netfilter Hacking HOWTO

Android 添加System权限

Android系统定制——Download Android System 及加载system镜像文件

Android应用程序获取system权限

Android 逆向Android 系统文件分析 ( /system/ 系统命令和系统应用数据目录 | /system/app/ 系统应用目录 | sys Linux 系统内核文件目录 )