1、系统架构
android系统一共分为四个层次,主要包括applications,framework,libraries,linux内核层。
Android系统架构图示:
Linux内核层:主要是linux的内核与一些驱动模块,比如蓝牙驱动,照相机驱动,usb驱动,wifi驱动等。
Libraries:这一层主要是动态库、Android运行时候的库、Dalvik虚拟机等。这一层的代码主要是使用C或者C++代码编写,也可以将它看做是Native层。
Framework:这一层又称之为框架层,主要是使用java代码编写的。
Applications:本层被称之为应用层,就是用户直接使用的app软件,绝大部分都是处于本层次上的。
2、与JNI交互
Java的跨平台性是基于底层的特定实现的,并不是说它完全解决了平台差异性,而是jdk帮我们实现了,Java程序员只是不需要再去关心而已。
Java与JNI交互图示:
这里仅仅只是给出一个关于JNI的图示说明,关于JNI交互,下一篇博客会详细介绍。
3、总结
1)Android的系统架构采用分层架构的思想,每一层都负责自己的事情,面向接口编程在这里得到完美的体现。2)若是从事Android应用开发,主要研究Android的应用框架层和应用程序层;若是从事Android系统开发,应该看看Android的系统库;如果从事Android驱动开发,应该认真研究Android的Linux内核。