android系统学习笔记一

1.android的系统架构(linux2.6内核)

Linux操作系统及驱动

本地代码框架

Java框架

Java应用程序

Android的程序库

系统c

多媒体库:packetVideoopenCore

SurfaceManager:提供2D3D的无缝融合

libWebCore:web浏览器引擎

SGL:Skia图形库,,2D图形引擎

3Dlibraries:基于OpenGLES1.0API的实现

FreeType:位图和矢量字体显示

Android的运行环境dalvik虚拟机和java基础库

 

Android应用程序框架

Views

contentProviders

resourceManager

NotificationManager

activityManager

Android辅助工具

Adb:网络连接方式和usb连接方式如果是网络连接方式需要设置hostpath

adbshell联接目标终端

Adbinstall/uninstall安装/卸载程序

Adbpush/pull(host_path)(target_path)/(target_path)(host_path)

Android工具:用来创建虚拟设备

Aidl:androidvirtualDescriptionlanauage,生成进程间接口的代码

AVDs:用于配置模拟器

DDMS:调试工具

Dx:.class字节码转换为android字节码(保存在.dex文件中)

Draw9-patch:图片制作工具

Enulator:模拟器

HierarchyViewer:层级观察器

Mksdcard:创建磁盘映响

Monkey:产生随机的用户事件流(重复的压力测试)

Sqlite3:数据库访问工具

 

Android源代码的结构

核心工程(coreproject

 

扩展工程(externalproject)

 

包(package

编译

在其根目录下有一个makefile,直接执行make即可

编译结果:

主机工具

目标机程序

目标机映象文件

目标机linux内核

编译结果存放在out目录中

 

Out/Target/product是目标产品的目录

 

系统的运行基于qemu

Ps查看系统进程

Init是系统运行的第一个进程,这是一个用户空间的进程.

Kthreadd是系统的二号进程这是一个内核进程

Zygote/system/bin/sh/system/bin/mediaserver都是视init运行起来的

Android.process.acore(home)com.androidmms等进程代表的是应用程

程序进程,他们的父进程是zygote

Logcat:查看系统日志

 

你可能感兴趣的:(android)