您的位置:首页 > 移动开发 > Android开发

android系统学习笔记一

2012-09-03 15:01 218 查看
1.android 的系统架构(linux 2.6内核)

Linux操作系统及驱动

本地代码框架

Java框架

Java 应用程序

Android 的程序库

系统c库

多媒体库: packetVideo 的openCore

Surface Manager:提供2D 和3D的无缝融合

libWebCore: web浏览器引擎

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

3D libraries:基于OpenGL ES1.0API的实现

FreeType:位图和矢量字体显示

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

Android 应用程序框架

Views

contentProviders

resourceManager

Notification Manager

activityManager

Android 辅助工具

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

adb shell 联接目标终端

Adb install/uninstall 安装/卸载程序

Adb push/pull (host_path) (target_path)/(target_path) (host_path)

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

Aidl:android virtual Description lanauage,生成进程间接口的代码

AVDs: 用于配置模拟器

DDMS: 调试工具

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

Draw9-patch:图片制作工具

Enulator:模拟器

Hierarchy Viewer:层级观察器

Mksdcard:创建磁盘映响

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

Sqlite3:数据库访问工具

Android 源代码的结构

核心工程(core project)

扩展工程(external project)

包(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.android mms 等进程代表的是应用程

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

Logcat:查看系统日志
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: