我下载了整个 Linux 源代码,发现只有 500MB。但是当我使用 repo sync 下载 Android 源代码时,它超过了 15GB。
我以为 Android 是基于 Linux 的,并且增加了一些功能。但是这些功能增加得太多以至于它占用了 15GB 空间吗?
这背后的原因是什么?
答案1
Android 使用 Linux 作为其内核。但它不仅仅是一个内核。它还包括所有用户空间,包括工具、应用程序等等。一个恰当的比较是将 Android 的源代码与整个 Linux 发行版的源代码进行比较,而不仅仅是内核。Debian 最新版本的源代码大约需要 8 张 DVD。
实际上,Android 还必须包含制作工具链所需的源代码,以支持 Android 的目标平台。因此,您拥有发行版中包含的各种工具的源代码,这些工具甚至无法在 Android 下运行。Linux 内核源代码要求您已经拥有支持目标平台的工具链(编译器、链接器、汇编器等)。