Android系统架构
- linux内核层:为设备的各种硬件提供了底层的驱动,如显示驱动等
- 系统运行库层:通过C/C++库来为android提供主要的特性支持。如SQLiteku提供的数据库支持,OpenGl|ES库提供3D绘图的支持,Webkit库提供了浏览器内核的支持等;还提供一些核心库,允许开发者使用java语言编写android程序;存在Dalvik虚拟机(5.0系统后改为ART运行环境)是专门为移动设备定制的,他针对手机内存、CPU性能等情况进行了优化处理。
- 应用框架层:提供构建应用程序时可能用到的更重API
- 应用层:各种应用程序
Android四大组件
- Activity
- Service
- Broadcast Receiver
- Content Provider
主要结构目录
- bulid:编译时自生成文件
- libs:第三方jar包,会被自动添加到构建路径中去
- java:java代码
- res:项目中使用的所有资源,drawable存放图片,layout存放布局,values存放字符,mipmap存放图标
- AndroidManifest.xml:配置文件,程序中定义的四大组件都需要在这个文件里注册,另外这个文件中还可以给应用程序添加权限声明
- bulid.gradle:项目构建工具
- com.android.application:应用程序模块
- com.android.library:库程序模块
- 区别:一个是可以直接运行的,一个只能作为代码库依附于别的应用程序模块来运行