2 Commits

Author SHA1 Message Date
f3f90fcb24 更新 src/compile/sharebuild-aosp14.md
All checks were successful
CI/CD Pipeline for mengning.com.cn / build (pull_request) Successful in 4m15s
2025-12-16 06:52:57 +00:00
0213f1feef 增加setup_sharebuild_forAOSP14.sh脚本
All checks were successful
CI/CD Pipeline for mengning.com.cn / build (pull_request) Successful in 3m8s
2025-12-15 22:39:51 +08:00

View File

@@ -40,51 +40,36 @@ repo sync -j16
cd android-14.0.0_r2
source build/envsetup.sh # 初始化环境
lunch aosp_arm-eng # 选择目标配置
make # 执行单机编译,编译成功后可以看到:
make # 执行单机编译
```
编译成功后可以看到:
```
[ 99% 130084/130093] out/host/linux-x86/bin/resourceshrinker --output out/soong/.intermediates/frameworks/base/packages/SystemUI/SystemUI
Shrunken apk stored in:
out/soong/.intermediates/frameworks/base/packages/SystemUI/SystemUI/android_common/SystemUI-unsigned.apk.proto.out.apk
[100% 130093/130093] Target vbmeta image: out/target/product/generic/vbmeta.img
#### build completed successfully (02:20:12 (hh:mm:ss)) ####
```
```
[19:20:05.430], pending/wanted: 4, ready: 1, running: 0
#### build completed successfully (02:26:51 (hh:mm:ss)) ####
real 146m51.385s
user 1327m35.812s
sys 78m2.153s
root@lab1:/home/lab1/android-14.0.0_r2#
```
### 配置AOSP项目开启ShareBuild模式
* 将.sharebuild.yml 复制到 AOSP 根目录
* 到 AOSP 项目根目录下执行 setup_sharebuild_forAOSP14.sh 配置ShareBuild分布式编译
```
cd android-14.0.0_r2
cp /etc/ninja2/aosp14/.sharebuild.yml ./
```
* 进入AOSP14项目根目录替换 AOSP 内部 ninja 为 android_ninja
```
cp /usr/bin/android_ninja prebuilts/build-tools/linux-x86/bin/ninja
```
* 开启ShareBuild模式然后进行分布式编译。
项目根目录下创建ninja2.conf 文件如下即可开启ShareBuild模式
```
sharebuid:true
/etc/ninja2/aosp14/setup_sharebuild_forAOSP14.sh
```
* 在项目根目录下执行分布式编译
```bash
su # 切换到 root 关闭沙箱
source build/envsetup.sh # 初始化环境
lunch aosp_arm-eng # 选择目标配置
make # 执行分布式编译,编译成功后可以看到:
make # 执行分布式编译
```
编译成功后可以看到:
* 客户端节点:
```
[ShareBuild] Command will be executed REMOTELY
@@ -101,7 +86,7 @@ stdout: , stderr:
real 102m16.362s
user 1074m56.673s
sys 64m22.863s
root@lab1:/home/lab1/android-14.0.0_r2#
```
* 服务端节点sharebuild部分日志
```