摘要: 1 zygote的分裂前面已经讲了zygote分裂出了长子system_server,然后SS(system_server)就通过initAndLoop进行消息循环处理了。那么谁会向zygote发送消息呢?这里以一个activity的启动为例,进行具体分析zygote的分裂和繁殖。1.1 Activ... 阅读全文
posted @ 2014-05-23 21:49 WanChouchou 阅读(1191) 评论(0) 推荐(0) 编辑
摘要: 1 SystemServer分析SystemServer的进程名就是前面所说的“system_server”,是zygote进程“app_process”fork出来的第一个子嗣,其重要性不言而喻。下面我们简称其为SS。1.1 SS的诞生先回顾一下SS是如何创建的:/*在zygoteinit.jav... 阅读全文
posted @ 2014-05-22 22:50 WanChouchou 阅读(1071) 评论(0) 推荐(0) 编辑
摘要: 1 zygote分析1.1 简介Zygote本身是一个NATIVE层的应用程序,与驱动、内核无关。前面已经介绍过了,zygote由init进程根据init.rc配置文件创建。其实本质上来说,zygote就是app_process,这个名字在android.mk中指定,但是在运行的时候,app_pro... 阅读全文
posted @ 2014-05-22 22:48 WanChouchou 阅读(893) 评论(0) 推荐(0) 编辑
摘要: 我的LINUX版本是ubuntu12.04 32bit。今天在下载android源代码的时候发现自己最初给这个虚拟机分配的磁盘空间不足了(只有20G)。所以就需要给磁盘扩容。网上大致搜索了一下,主要有两种解决方法:一,另建一个磁盘;二,给原有的磁盘扩容。我选择第二种方案。 1,关闭虚拟机。进入要扩... 阅读全文
posted @ 2014-05-20 23:04 WanChouchou 阅读(15325) 评论(2) 推荐(0) 编辑
摘要: 首先去官网http://source.android.com/source/initializing.html可以看到完整的安装教程。不过一般情况下,按照这个教程是无法一步到位的,因为中途肯定会遇到很多问题。这里我把我遇到的问题以及相应的解决方案总结一下: 1、sudo apt-get inst... 阅读全文
posted @ 2014-05-20 14:47 WanChouchou 阅读(2203) 评论(0) 推荐(0) 编辑
摘要: 属性服务property service大家都知道,在windows中有个注册表,里面存储的是一些键值对。注册表的作用就是:系统或者应用程序将自己的一些属性存储在注册表中,即使系统或应用程序重启,它还能够根据之前在注册表中设置的属性,进行相应的初始化工作。Android平台也提供了类似的机制,那就是... 阅读全文
posted @ 2014-05-07 01:03 WanChouchou 阅读(494) 评论(0) 推荐(0) 编辑
摘要: 1 源码分析必备知识1.1 linux内核链表Linux内核链表的核心思想是:在用户自定义的结构A中声明list_head类型的成员p,这样每个结构类型为A的变量a中,都拥有同样的成员p,如下:struct A{int property;struct list_head p;}其中,list_hea... 阅读全文
posted @ 2014-05-05 19:47 WanChouchou 阅读(553) 评论(0) 推荐(0) 编辑
摘要: 在逆向分析Android APK的时候,往往需要分析它的.so文件。这个.so文件就是Linux的动态链接库,只不过是在ARM-cpu下编译的。所以学习Android下的ARM指令很重要。目前,市面上的ARM-cpu基本都支持一种叫做THUMB的指令集模式。这个THUMB指令集可以看作是ARM指... 阅读全文
posted @ 2014-05-04 20:57 WanChouchou 阅读(2175) 评论(3) 推荐(0) 编辑