You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

编译自定义Android ROM时Soong启动失败报错求助

解决AOSP编译时Soong无法识别LLVM模块类型的问题

编译AOSP主分支时执行make -j2 aapt触发Soong构建bootstrap失败,报错显示多个LLVM相关模块类型(如llvm_defaults、llvm_tblgen)未被识别,以下是针对性解决方案:

解决方案步骤

1. 确保代码完整同步

这类模块未识别问题大多源于代码同步不完整,执行以下命令重新同步:

repo sync -c -j$(nproc)

若同步后仍有问题,重置所有本地修改后再同步:

repo forall -c 'git reset --hard HEAD'
repo sync -c -j$(nproc)

2. 清理构建缓存

Soong缓存损坏也会导致模块定义加载失败,清理相关缓存后重新初始化构建环境:

rm -rf out/soong
rm -rf out
source build/envsetup.sh
lunch aosp_arm-eng

3. 验证构建依赖完整性

确保Ubuntu 22.04的AOSP依赖包完全安装:

sudo apt-get install git-core gnupg flex bison build-essential zip curl zlib1g-dev gcc-multilib g++-multilib libc6-dev-i386 libncurses5 lib32ncurses5-dev x11proto-core-dev libx11-dev lib32z1-dev libgl1-mesa-dev libxml2-utils xsltproc unzip fontconfig

同时确认Python版本满足要求(AOSP主分支需Python 3.8+):

python3 --version

4. 先构建完整系统再单独编译aapt

直接编译aapt会跳过LLVM组件的前置构建流程,导致Soong无法识别相关模块。先执行全量构建:

make -j$(nproc)

全量构建完成后,再单独编译aapt即可。

问题原因说明

llvm_defaults、llvm_tblgen等是Soong构建系统中LLVM组件的专用模块定义,这些定义存在于external/llvm/soong目录的配置文件中。当代码同步不完整、缓存损坏或依赖缺失时,Soong无法加载这些模块定义,进而触发报错。

内容的提问来源于stack exchange,提问作者Sl4yerJ3ns

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.07.11 09:32:42