自定义博客皮肤VIP专享

*博客头图:

格式为PNG、JPG,宽度*高度大于1920*100像素,不超过2MB,主视觉建议放在右侧,请参照线上博客头图

请上传大于1920*100像素的图片!

博客底图:

图片格式为PNG、JPG,不超过1MB,可上下左右平铺至整个背景

栏目图:

图片格式为PNG、JPG,图片宽度*高度为300*38像素,不超过0.5MB

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+

  • 博客(14)
  • 收藏
  • 关注

转载 鸟人的Android揭秘(14)——Init进程源代码分析(五)

前一篇主要讲解了init进程如何创建套接字以处理子进程终止,接下来我们继续分析init进程启动属性服务,以及分析init.rc的过程。 接下来init进程需要设置系统属性,如代码3-16所示。 property_load_boot_defaults();expor...

2017-01-22 18:43:00 177

转载 鸟人的Android揭秘(13)——Init进程源代码分析(四)

Android系统的文件节点都使用SELinux管理权限,前面介绍的init进程第一阶段初始化创建的文件节点,以及属性初始化过程创建的文件节点,是在加载sepolicy之前已经被创建了,在加载完sepolicy之后,需要重新设置相关的属性。代码3-13所示是根据file_conte...

2017-01-14 21:09:00 141

转载 鸟人的Android揭秘(12)——Init进程源代码分析(三)

前文已经介绍完init进程第一阶段的初始化,接下来我们开始讲解init进程第二阶段初始化过程,首先是属性的设置。 如代码3-10所示,第二阶段一开始,即在“/dev”目录下创建“.booting”文件,以通知其它进程当前正处于启动过程。 close(open("/d...

2017-01-08 22:02:00 189

转载 鸟人的Android揭秘(11)——Init进程源代码分析(二)

前面一节我们已经讲解了init进程对目录生成和挂载、日志初始化和设置,接下来init进程将初始化SELinux[1]并设置policy文件,如下面代码所示。若要详细了解SELinux的设计原理和工作机制,需要用一整本书来讲解,由于篇幅所限,在此我们不过多涉及这方面的内容。init进...

2017-01-01 23:25:00 143

转载 鸟人的Android揭秘(10)——Init进程源代码分析(一)

本节开始依次分析init进程源代码中main()函数内的代码。受限于篇幅,我们无法将所有源代码一一列出讲解,这里分析主要流程和思路,希望读者能够参考init进程的实际代码,一起研究学习。 init进程分析init.rc启动脚本文件,并根据相关文件中包含的内容,执行相应...

2016-12-29 22:33:00 173

转载 鸟人的Android揭秘(9)——Init进程运行过程

众所周知,Linux中所有进程都是由init进程创建并运行起来的。首先Linux加载内核启动,然后在用户空间中启动init进程,之后init进程再依次启动系统运行的其它进程。在系统启动完成后,init进程会作为守护进程监视其它进程。若某个监视中的进程终结,进入僵死状态时,init进...

2016-12-25 22:18:00 188

转载 鸟人的Android揭秘(8)——搭建Android SDK开发环境(四)

到目前为止,我们已经完整讲解完Android源代码的编译,以及基于Android Studio的开发环境搭建和调试,读者按照前文所述即可开始自己的Android探索之旅。 虽然Android Studio用来开发和调试Java代码非常方便,但对C/C++代码支持并不是...

2016-12-23 16:00:00 116

转载 鸟人的Android揭秘(7)——搭建Android SDK开发环境(三)

前文已经讲解了Android源代码开发环境的搭建,以及如何使用模拟器加载源代码编译结果,但在开发过程中,无论是为了更地理解代码的运行机制,还是为了找出代码的Bug,都会涉及对代码的调试问题。接下来我们进一步说明,在Android Studio环境中,如何对Android源代码进行调...

2016-12-21 12:59:00 130

转载 鸟人的Android揭秘(6)——搭建Android SDK开发环境(二)

前文已经讲解了Android Studio的安装和配置,下面我们继续讲解如何把庞大的Android源代码加载到Android Studio中方便代码阅读和调试,以及如何启动模拟器加载Android源代码的编译结果,这些步骤都很重要,是后面讲解调试Android源代码的基础。 一、...

2016-12-19 13:49:00 179

转载 鸟人的Android揭秘(5)——搭建Android SDK开发环境(一)

前面已经完整讲解了Android平台的构成,以及从Git服务器下载源代码并进行编译的内容。接下来讲解如何搭建Android SDK开发环境,包括Android Studio、Sublime、Android SDK等的下载与安装,这些都与Android应用程序开发与调试相关,可以极大...

2016-12-18 20:54:00 260

转载 鸟人的Android揭秘(4)——Android 源代码编译

前文主要讲解了 Android 编译环境的搭建,接下来我们正式开始 Android 源代码的编译,主要涉及两部分内容:源代码的下载和源代码编译。 一、Android源代码下载 1) 配置 Git 信息 将自己的姓名和邮箱信息配置到 Git 中,如果要使用...

2016-12-15 16:16:00 168

转载 鸟人的Android揭秘(3)——Android 编译环境搭建

一、主机环境要求 要顺利编译 Android 源代码,硬件环境和操作系统都必须满足一定的条件。官方推荐的硬件环境配置是: 编译 Gingerbread(2.3.x)及后续版本必须使用64位系统 需至少留出100G 的磁盘空间用于迁出(checkout)Android ...

2016-12-14 13:08:00 225

转载 鸟人的Android揭秘(2)——通过启动过程分析 Android Framework

Android源代码数量极其庞大,以最新的 Android 7.1 为例,代码数量超过 50G。若想理解和掌握如此庞大的 Android 系统,将需要耗费大量的时间和精力,付出极大的努力。关键是到目前为止也没有相对完整的资料对 Android Framework 作系统性讲解说明。...

2016-12-12 16:19:00 375

转载 鸟人的Android揭秘(1)——源代码构成

如果你有过开发Android应用程序的经验,即使你对Android Framework掌握得不深,通过谷歌提供的Android SDK,也能非常容易地开发出基于Android的交互应用程序。这得益于Android为开发者提供了一套定义良好的软件框架,开发者即使不具备特...

2016-12-10 22:04:00 291

空空如也

空空如也

TA创建的收藏夹 TA关注的收藏夹

TA关注的人

提示
确定要删除当前文章?
取消 删除