美文网首页
阅读AOSP源代码的正确姿势

阅读AOSP源代码的正确姿势

作者: caojiying | 来源:发表于2019-07-16 12:36 被阅读0次

"Read the Fucking Source Code"
— Linus Torvalds

“去读那XX的源代码”——Linus大神的至理名言,如雷贯耳,振聋发聩。

大神用语一向粗鄙。然而他足够伟大,伟大到粗鄙都成了他伟大的注脚。

普通人自然是没有资本粗鄙起来。当AOSP源码如山般横亘在面前时,我感觉自己化身成了愚公,手里只有一把铁锹。

好在有无数先行的愚公已经铲出了一条条羊肠小道——相比较我自己的愚鲁与懈怠,先行者们明明已经不是愚公,而是智叟了(此处褒义)。

源码该怎么读?对于AOSP这种太行王屋级别的工程,其入门之艰辛,远不是一句“万事开头难”就能形容的。云山雾罩,分分钟让人想起那套畅销书《从入门到放弃》(误)。

最务实的目标,反而是选择最容易的突破口,让自己不那么容易放弃。拿起铁锹,选择最平坦的羊肠小道,边走边挖。

对于大多数普通的Android程序员来说,对Java的掌握程度远远超过C/C++,对Android Studio的得心应手也远远凌驾于Source Insight之辈。我们从Java层开始,用Android Studio阅读。

Hello, (Java) World!

AOPS运行的第一个Java程序是Zygote。熟悉Java的程序员,都知道Java程序从启动类的main()方法开始执行。我们只要从Zygote的启动类开始,从main()方法开始,就是阅读AOSP源码的入门姿势了。

"Zygote"—受精卵

"There are only two hard things in Computer Science: cache invalidation and naming things."
— Phil Karlton

作为计算机领域两大难题之一,命名,往往能起到正向或者反向的效果。所幸AOSP源码里的命名还是比较明白易懂的,没有某些人写代码那么天马行空 : )

Zygote is an Android system service that is the parent of all Android application processes.

维基百科说,Zygote是所有Android应用进程的父进程(parent)。

zygote不是一个常用的单词,它的意思是受精卵。生物的所有细胞,都是由受精卵分裂而来;Android世界的每一个进程,都是由Zygote进程创建而来,这就是它被命名为"Zygote"的原因吧。

现在,请记得Zygote的终极使命:创建所有Android应用进程。它的无数行源代码,可能让你头晕眼花,但一定要记得,所有的代码都是为了这个终极使命:创建Android应用进程。

ZygoteInit.java—启动类

前面说了,Zygote是个Java程序,而Java程序的入口是某个类(启动类)的main()方法。对于Zygote来说,启动类是ZygoteInit,完整路径是frameworks/base/core/java/com/android/internal/os/ZygoteInit.java

记不住也没关系,这就是为什么要用趁手的工具,Android Studio。Ctrl+N,输入“ZygoteInit”,就能找到并打开了:

相关文章

  • 阅读AOSP源代码的正确姿势

    "Read the Fucking Source Code"— Linus Torvalds “去读那XX的源代码...

  • 看源代码正确姿势

    模仿没什么不好。当我们还是小白的时候,模仿是最好的学习方式,到了一定境界,自然有机会形成自己的风格。我的绘画,以及...

  • 勤奋,才是你的正确姿势

    今日书目《奋斗的正确姿势》,作者乔恩·阿卡夫 阅读第241页至第285页,共45页。 今天已经看完《奋斗的正确姿势...

  • Android 13现已正式发布至 AOSP

    Android 13 的源代码推送至 Android 开源项目 (AOSP),并正式发布最新版本的 Android...

  • 阅读的正确姿势之我见

    在信息大爆炸的今天,我们每天面对的信息量实在太大,应接不暇。每天要在这么多的信息里甄选出自己觉得有用的信息...

  • 阅读邮件的正确姿势

    阅读邮件已经成为日常不可或缺的部分了,那我们很多时候会理解错别人说的内容,我想阅读姿势不正确可能是其中之一,那我们...

  • 阅读的正确打开姿势

    今天我想给大家分享的主题是:阅读的正确打开姿势(你就是阅读的王者)。 一年半前(即2018年上半年前)我还是一个囤...

  • 阅读源码的正确姿势

    1. 前言 Java 学习和进阶离不开阅读源码,但是很多人只知道阅读源码却不知道如何阅读源码更有效。 很多人面对源...

  • 第二章 AOSP从下载到运行

    AOSP从下载到运行要经历一下几个阶段: 一、下载源代码 二、搭建编译环境 三、编译源代码 四、在模拟器上运行生成...

  • 个推解读Android13,发布《Android13适配指南》

    8月16日,谷歌宣布Android13新系统的源代码已经上传到Android开源项目(AOSP)中,Android...

网友评论

      本文标题:阅读AOSP源代码的正确姿势

      本文链接:https://www.haomeiwen.com/subject/ysyzkctx.html