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:查看系统日志

更多相关文章

  1. Android(安卓)实现发送彩信方法 (MMS),非调用系统界
  2. Android(安卓)显示系统 --- Surface Flinger
  3. spring mvc+mybatis 构建cms内容发布系统ios android
  4. android3.2系统removeHeadView空指针异常
  5. 用busybox扩展android系统的控制台命令
  6. Ubuntu 11.10 64bit系统编译android 2.3的相关问题
  7. springmvc mybatis shiro ios android 构建 cms 系统
  8. ActivityManagerService启动学习
  9. Android(安卓)go 自定义静态广播接收不到的问题

随机推荐

  1. Android(安卓)复制和粘贴功能
  2. Android模拟用户点击的实现方法
  3. Android(安卓)经验: 本地 5555 端口会被
  4. android api包简要介绍
  5. Android(安卓)Studio打包以及签名
  6. Android中的颜色设置
  7. android framework集成第三方jar包
  8. 在使用ListFragment的setEmptyText时报ja
  9. 浅谈android的selector,背景选择器
  10. Android(安卓)Manifest - permission