为什么有android?
行业竞争的压力,当前没有满足我们需求的手机操作系统。
www.openhandsetalliance.com
android架构
第一层:Linux kernel,采用Linux内核,实现操作系统必不可少的功能,驱动也在这一层。用c写的
第二层:系统类库和android的runtime运行时,用c和c++写的,Linux开发
第三层:application framework,主要用Java,在第二层和第三层之间有一个通信,叫JNI,通过Java调c++,
第四层:application,Java应用程序
1st Layer_Linux Knerel{
.基于Linux2.6内核{
内存管理
进程管理
网络线
驱动模型{
显示驱动-Frame Buffer
键盘驱动-KeyBoard Driver
Flash内存驱动(闪存驱动)
Binder IPC驱动
}
}
}
2nd Layer Library&Runtime{
Native Libraries Layer {
系统类库{
System C Library
MediaLibraries
SurfaceManager
LibWebCore
SGF
3DLibraries based on OpenGL ES1.0
FreeType
SQLite
}
}
HAL Layer(基于内核的硬件抽象层HardWare abstraction Layer)
Android Runtime
核心类库用于支持java5的各类操作,例如io,网络。
}
3re FrameWork Layer
对类库在封装。封装起来的四大组件(提供调用系统功能的api)
和对硬件的访问操作
4 urApplication Layer(用Java开发){
核心应用
}