android源码
小伙子wp
这个作者很懒,什么都没留下…
展开
-
android启动之概述
从今天开始,我要和大家一起分享一下我学习android源码的心路历程,与大家一起分享我的心得,也希望各位大神不吝赐教。关于android启动的博客,网上已经有很多了,我还要写愿意有:1.网上的博客大多都是基于android2.3的,我的主要是基于android4.2和android4.4的。2.这是我自己的领悟,作为纪念。3.网上的博文大都比较零散,不成体统。我打算写一个系列博文,原创 2014-04-25 09:01:20 · 1026 阅读 · 0 评论 -
android启动之linux内核启动
移动终端,基本上可以分成两种:一种是传统手机(feature phone);另一种是智能手机(smart phone)。智能手机具有传统手机的基本功能,并有以下特点:开放的操作系统、硬件和软件可扩充性和支持第三方的二次开发。原创 2014-04-25 09:02:36 · 3945 阅读 · 1 评论 -
android启动之init启动
整个Android系统的启动分为Linux kernel的启动和Android系统的启动。Linux kernel启动起来后,然后就运行第一个用户程序,在Android中,就是init程序,上一博文已经介绍。Init进程始终是第一个进程。Init进程的对应的代码的main函数在目录system/core/init/init.c,先来总体看一下这个main函数。int main(int原创 2014-05-09 16:16:10 · 1452 阅读 · 0 评论 -
android启动之SystemServer启动
SystemServer是Android系统的核心,APK应用中能够直接交互的大部分系统服务都在该进程中运行,常见的比如WindowManagerServer(Wms)、ActivityManagerSystemService(AmS)、 PackageManagerServer(PmS)等,这些系统服务都是以一个线程的方式存在于SystemServer进程中。startSystemServe原创 2014-05-16 13:44:44 · 3341 阅读 · 0 评论 -
android启动之zygote启动
上一博文介绍了init进程启动,在解析init.rc 的时候会把zygote加到service列表中,并最终启动,zygote启动的实际是app_process程序。zygote是init进程的子进程。在Android系统中,所有的应用程序以及系统服务,包括SystemServer都是由Zygote fork出来的,这就是为什么它叫zygote(受精卵)的原因。我们再来看一下.rc文件的描述:原创 2014-05-14 09:16:24 · 1257 阅读 · 0 评论 -
android启动之ServiceManager启动
其实init进程启动后,ServiceManager进程的启动,远比zygote要早,因为在启动zygote进程时需要用到ServiceManager进程的服务。ServiceManager是一个守护进程,它维护着系统服务和客户端的binder通信。在Android系统中用到最多的通信机制就是Binder,Binder主要由Client、Server、ServiceManager和Binder原创 2014-06-04 15:15:51 · 2921 阅读 · 0 评论