Files
docs/src/compile/sharebuild-aosp14.md
孟宁 e2b50e2188
Some checks failed
CI/CD Pipeline for mengning.com.cn / build (pull_request) Has been cancelled
页面上的链接可以携带.md结尾,兼容网站模式和Git仓库Web模式
2025-12-05 02:10:49 +00:00

2.6 KiB
Raw Blame History

以AOSP14项目为例ShareBuild分布式编译详细配置方法

ShareBuild的适用场景

在同一局域网内工作的小型团队ShareBuild以P2P共享架构将空闲算力贡献给团队其他成员从而为每个团队成员提供编译加速效果。

ShareBuild QuickStart

  • 同一个局域网内的A、B、C等所有节点上安装ninja2:
wget -c https://raw.githubusercontent.com/ninja-cloudbuild/ninja2/refs/heads/main/install.sh && chmod +x install.sh && sudo ./install.sh
  • 启用ShareBuild的前置要求
  1. 所有节点上均安装配置好了项目的编译环境即所有节点上均能采用ninja成功单机编译项目。
  • 选择任一节点上作为项目开发环境开启ShareBuild模式然后进行分布式编译。

项目根目录下创建ninja2.conf 文件如下即可开启ShareBuild模式

sharebuid:true

这时使用ninja编译将自动进入ShareBuild模式分布式编译项目。

如果直接使用ninja命令编译项目也可以加上-s参数表示启用ShareBuild模式示例如下

ninja -s -r `realpath ../`            #启动分布式编译,注意-r 指定项目根目录
ninja -t clean                        #清除编译产物
  • 对一些特殊项目的补充说明

除以上常规的ShareBuild配置外对于一些特殊项目需要做一些额外的配置补充说明如下

使用ShareBuild编译Android开源项目AOSP

除按照以上方法准备好编译环境和开启ShareBuild模式外以AOSP14项目为例还需要替换ninja和准备.sharebuild.yml来过滤掉一些无法远程编译的命令具体操作如下

cp /usr/bin/android_ninja prebuilts/build-tools/linux-x86/bin/ninja
cp /etc/ninja2/aosp14/.sharebuild.yml ./

然后就可以单机编译一样使用make命令来分布式编译Android开源项目AOSP

版权声明

Copyright @ Mengning Software

梦宁软件(江苏)有限公司 版权所有