android系统学习笔记一

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

   

posted @ 2012-09-03 15:01  retacn_yue  阅读(147)  评论(0编辑  收藏  举报