欢迎您访问程序员文章站本站旨在为大家提供分享程序员计算机编程知识!
您现在的位置是: 首页  >  移动技术

Android操作系统的架构设计分析

程序员文章站 2022-05-27 10:11:40
之前一直在android应用层上做工作,最近开始研究android平台上的东东了,主要是在android frameworks层和系统库层进行研究。以下是我自己的理解,领悟...

之前一直在android应用层上做工作,最近开始研究android平台上的东东了,主要是在android frameworks层和系统库层进行研究。以下是我自己的理解,领悟,希望与大家一块分享。
android系统架构分为linux内核驱动、c/c ++框架、java框架、java应用程序。

android应用层:

android应用程序需要java框架支持。主要是针对手机用户的。android应用层都是由java代码写的,运行在虚拟机中。虚拟机在android平台中扮演着很重要的角色。虚拟机在执行java类的过程中,如果java类需要与c/c++组件沟通时,虚拟机会载入c/c++组件,然后让java函数顺利的调用到c/c++组件的函数。java与c/c++能通过标准的jni界面相互沟通。
注:java类是在虚拟机上运行的,c/c++不是在虚拟机上执行的。那么如何加载c/c++组件函数的呢?
答案是:通过system.loadlibrary(*.so的档案名);入口函数是jni_onload();

frameworks框架层(应用框架层):

java框架就是由c/c++库包装成为了一个jni。简称java native interface,即java本地接口。在应用层和系统库层之间起了一个桥梁的作用。主要是针对手机开发商。

c/c++框架(系统库):

具体实现java框架功能。java框架中的native方法都是由c/c++来完成的。

android驱动底层(内核层):

最后驱动硬件完成功能。
系统架构图如下:

Android操作系统的架构设计分析