Android系统架构自下而上分为Linux内核层、硬件抽象层、系统运行时库、应用程序框架层、应用程序层。
1.应用程序层:所有的应用程序都是使用Java语言编写的,通过调用应用程序框架层所提供的API完成。当然,你也可以使用Java通过JNI方式,配合Android NDK来开发原生的应用程序,这样可以提高应用程序的效率,但同时也要求你必须精通C/C++等语言。
2.应用程序框架层:为开发人员提供了可以完全访问核心应用程序所使用的API框架。该应用程序的框架简化了组件的重用,任何一个应用程序在遵循框架安全性的前提下都可以发布自己的功能模块。同样,该应用程序重用机制也是用户可以方便的替换程序组件。下图为应用程序框架层提供的组件及其功能描述:
3.系统程序库包括程序库和Android运行库两部分:
(1) 程序库
Android包括一些C/C++库,这些库能被Android系统的不同组件使用,它们通过应用程序框架层为开发者提供服务,下图给出核心库的功能介绍