2

初始化构建环境的指南说 -

注意:源下载大小约为 8.5GB。您将需要超过 30GB 的免费空间来完成单个构建,并且需要高达 100GB(或更多)的空间来完成完整的构建。

我的问题-

  1. 据我了解,存储库中不存在供应商特定的应用程序和图形,它基本上包含内核源代码、通用驱动程序和基本工具。那为什么它的尺寸这么大?
  2. 为什么我需要 100GB 来构建它?
  3. 是否有可能获得压缩的源 tarball?
4

1 回答 1

4

Ryan Li 通过说明您正在下载所有存储库的历史提供了部分答案。这往往会随着时间的推移而增加,并使所有源的初始下载占用相当大的空间。

构建占用如此多空间的几个原因(无论如何都不是详尽的清单):

  • 有很多来源会生成大量用于构建最终图像的目标文件、库、dex 等。使用 C/C++ 工具链,链接器可以丢弃未在给定可执行文件中使用的目标文件部分。除了目标文件往往包含有关各个部分的大量额外信息这一事实之外,几乎总是意味着添加在一起的目标文件将比您构建的任何可执行文件大。
  • 除了目标文件之外,您在输出(中间)目录中还有库和可执行文件本身。
  • 除了上述两个之外,您还有生成的文件系统映像。
  • 我不是 Java 构建专家,但我猜有中间文件可以访问生成的 .dex 文件。
  • 如果您想做一整套构建,您需要将普通用户构建 (~30GB) 乘以至少 3 以及更多(其他包包含在 eng 和 userdebug 构建类型中)。

如果您想要更详细的答案,我建议您下载源代码,进行构建并在其上运行磁盘空间分析器工具(目前没有方便的构建来执行此操作)。

于 2013-02-22T21:41:35.143 回答