- 博客(14)
- 资源 (9)
- 收藏
- 关注
原创 鸟人的Android揭秘(14)——Init进程源代码分析(五)
前一篇主要讲解了init进程如何创建套接字以处理子进程终止,接下来我们继续分析init进程启动属性服务,以及分析init.rc的过程。
2017-01-22 20:57:52 339
原创 鸟人的Android揭秘(13)——Init进程源代码分析(四)
Android系统的文件节点都使用SELinux管理权限,前面介绍的init进程第一阶段初始化创建的文件节点,以及属性初始化过程创建的文件节点,是在加载sepolicy之前已经被创建了,在加载完sepolicy之后,需要重新设置相关的属性。
2017-01-14 21:12:19 353
原创 鸟人的Android揭秘(12)——Init进程源代码分析(三)
前文已经介绍完init进程第一阶段的初始化,接下来我们开始讲解init进程第二阶段初始化过程,首先是属性的设置。
2017-01-08 22:02:55 293
原创 鸟人的Android揭秘(11)——Init进程源代码分析(二)
前面一节我们已经讲解了init进程对目录生成和挂载、日志初始化和设置,接下来init进程将初始化SELinux并设置policy文件,如下面代码所示。若要详细了解SELinux的设计原理和工作机制,需要用一整本书来讲解,由于篇幅所限,在此我们不过多涉及这方面的内容。init进程运行在用户空间,主要涉及对SELinux的挂载和配置,下面我们把重点放在这个过程上。
2017-01-01 23:27:56 509
原创 鸟人的Android揭秘(10)——Init进程源代码分析(一)
init进程分析init.rc启动脚本文件,并根据相关文件中包含的内容,执行相应的功能。另外,init进程提供属性服务,保存系统运行所需的环境变量。此外,其还负责监视子进程的运行,处理子进程的终止和重启。当应用程序访问设备驱动时,还会生成设备节点文件。接下来我们参考main()函数逐一分析代码。
2016-12-29 22:34:00 606
原创 鸟人的Android揭秘(9)——Init进程运行过程
Linux中所有进程都是由init进程创建并运行起来的,首先Linux加载内核启动,然后在用户空间中启动init进程,之后init进程再依次启动系统运行的其它进程。在系统启动完成后,init进程会作为守护进程监视其它进程。若某个监视中的进程终结,进入僵死状态时,init进程就会释放进程所占用的系统资源。在Android平台(以下称Android)中也存在init进程,除了提供以上常见的功能外,还提供几种额外的功能。
2016-12-25 22:20:14 402
原创 鸟人的Android揭秘(8)——搭建Android SDK开发环境(四)
Android Studio用来开发和调试Java代码非常方便,但对C/C++代码支持并不是很友好,C/C++开发利器Source Insight也没有相应的Linux或Mac版本。为了方便查看Android源代码底层C/C++实现,我们再来讲解安装Sublime Text和CTags插件作为辅助工具。
2016-12-23 18:06:05 416
原创 鸟人的Android揭秘(7)——搭建Android SDK开发环境(三)
前文已经讲解了Android源代码开发环境的搭建,以及如何使用模拟器加载源代码编译结果,但在开发过程中,无论是为了更地理解代码的运行机制,还是为了找出代码的Bug,都会涉及对代码的调试问题。接下来我们进一步说明,在Android Studio环境中,如何对Android源代码进行调试。
2016-12-22 14:00:52 306
原创 鸟人的Android揭秘(6)——搭建Android SDK开发环境(二)
前文已经讲解了Android Studio的安装和配置,下面我们继续讲解如何把庞大的Android源代码加载到Android Studio中方便代码阅读和调试,以及如何启动模拟器加载Android源代码的编译结果,这些步骤都很重要,是后面讲解调试Android源代码的基础。
2016-12-19 13:54:06 222
原创 鸟人的Android揭秘(5)——搭建Android SDK开发环境(一)
前面已经完整讲解了Android平台的构成,以及从Git服务器下载源代码并进行编译的内容。接下来讲解如何搭建Android SDK开发环境,包括Android Studio、Sublime、Android SDK等的下载与安装,这些都与Android应用程序开发与调试相关,可以极大的方便我们深入了解Android的源代码和运行机制。
2016-12-18 20:57:17 338
原创 鸟人的Android揭秘(4)——Android 源代码编译
前文主要讲解了 Android 编译环境的搭建,接下来我们正式开始 Android 源代码的编译,主要涉及两部分内容:源代码的下载和源代码编译。
2016-12-15 16:17:04 317
原创 鸟人的Android揭秘(3)——Android 编译环境搭建
编译 Android 平台对硬件和软件都有一定的要求,本文主要讲解这些要求和具体环境的搭建。
2016-12-14 13:10:24 452
原创 鸟人的Android揭秘(2)——通过启动过程分析 Android Framework
Android源代码数量极其庞大,我们应该如何去分析 Android Framework 的代码呢?回想一下通常我们是如何分析他人编写的代码。在分析代码时,一般来说我们都会从程序的入口 main 函数开始,一点一点地理清程序的流程,掌握程序运行的过程。同样的,在分析结构庞大的 Android Framework 代码时,我们也要从 Android 平台的启动过程入手。 Android 启动过程包含从 Linux 内核加载到 Android Runtime 启动再到 Launcher 应用启动的整个过程,依次
2016-12-12 16:23:03 306
原创 鸟人的Android揭秘(1)——源代码构成
如果你想成为一名优秀的 Android 平台应用程序开发者,那么你很有必要深入了解学习 Android 框架。Android 是一个真正开放的移动开发平台,访问其网站(http://source.android.com)即可轻松获取源代码。每个硬件厂商可以根据自身需要定制基本的 Android 框架,开发出与竞争对手不同的产品。这样,若想构建基于 Android 框架的个性化移动终端系统,则必须对 Android 框架进行系统、全面地学习与研究。
2016-12-10 23:06:42 378
成功的项目管理(pdf版)
2008-11-30
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人