第一章:Android体系与系统架构
1、Android大致分为四层:
①Linux内核层:Android最底层最核心的部分,Linux层包含了Android系统的核心服务,包括硬件驱动,进程管理,安全系统等等。
②库和运行时
③FramWork层
④应用层
Dalvik与ART:Dalvik包含了一整套的Android运行环境虚拟机,每个App都会分配来保证互相之间不受干扰,并保持独立。
使用NDK开发主要构成:AndroidManifest,DalvikClasses
ResourceBundle, Libraries&JNI
Java开发的App的主要构成: AndroidManifest,DalvikClasses
ResourceBundle
2、Android App组件架构
四大组件:Activity、BroadCastReciever、ContentProvider、Service
如何协同合作:Activity负责向用户展示信息和处理结果,而信息可以通过资源获取,也可以通过ContentProvider来获取,或者是Service从后台计算、下载、处理的结果。
组件与组件之间通过Intent来通信、传递信息、交换数据。
3、Context
Activity、Service、Application都是继承自Context。
Context被创建的时间点:创建Application、创建Activity、创建Service
获取Context对象:直接使用this(在匿名内部类中必须指定XXXXActivity.this),通过getApplicationContext()方法获取整个App的Context。
4、Android系统源代码目录与系统目录
①Android系统源代码目录:
- Makefile
- bionic (bionic C库)
- bootable (启动引导相关代码)
- build (存放系统编译规则等基础开发包配置)
- cts (Google兼容性测试标准)
- dalvik (dalvik 虚拟机)
- development (应用程序开发相关)
- external (android使用的一些开源的模块)
- vendor (厂商定制代码)
- frameworks (Framework框架核心)
- out (编译完成后的代码输出目录)
- hardware (厂商硬件适配层HAL代码)
- packages (应用程序包)
- prebuilt (x86和arm架构下预编译资源)
- sdk (sdk及模拟器)
- system (底层文件系统库、应用及组件)
②Android系统目录
•/system/app/这里面放的是一些系统的App
•/system/bin/这里面主要放的是Linux自带的组件
•/system/build.prop这里记录的是系统的属性信息
•/system/fonts/系统字体存放目录root后可下载TTF格式字体替换原字体,达到修改系统字体的效果
•/system/framework/系统的核心文件、框架层•/system/lib/存放几乎所有的共享库(.so)文件
•/system/media/该目录用来保存系统提示音、系统铃声
•/system/usr/该目录用来保存用户的配置文件
•/data/data/这里包含了App的数据信息、文件信息、数据库信息等
•/data/app/这个目录包含了用户安装的App或者升级的App
•/data/system/这个目录包含了手机的各项系统信息
•/data/misc/这个目录保存了大部分的Wi-Fi、VPN信息
网友评论