编译RiceDroid(Android13)针对Mi A1(tissot)时遇PATH_OVERRIDE_SOONG变量错误
小米A1(tissot)编译Android 13版RiceDroid的Soong变量错误修复
问题重现
编译适配小米A1(tissot)的Android 13版RiceDroid时,触发Soong构建失败:
[100% 1/1] analyzing Android.bp files and generating ninja file at out/soong/build.ninja FAILED: out/soong/build.ninja cd "$(dirname "out/host/linux-x86/bin/soong_build")" && BUILDER="$PWD/$(basename "out/host/linux-x86/bin/soong_build")" && cd / && env -i "$BUILDER" --top "$TOP" --soong_out "out/soong" --out "out" -o out/soong/build.ninja --globListDir build --globFile out/soong/globs-build.ninja -t -l out/.module_paths/Android.bp.list --available_env out/soong/soong.environment.available --used_env out/soong/soong.environment.used.build Android.bp error: vendor/lineage/build/soong/Android.bp:24:8: module "generated_kernel_includes": cmd: unknown variable '$(PATH_OVERRIDE_SOONG)' 16:51:54 soong bootstrap failed with: exit status 1 #### failed to build some targets (30 seconds) ####
已尝试在config/BoardConfigSoong.mk添加以下代码,但无效:
PATH_OVERRIDE_SOONG := $(shell echo $(TOOLS_PATH_OVERRIDE))
可行修复方案
全局导出变量到Soong
- 打开
build/make/core/config.mk,添加变量定义:PATH_OVERRIDE_SOONG := $(TOOLS_PATH_OVERRIDE) - 打开
build/make/core/soong_config.mk,添加变量导出规则:SOONG_CONFIG_VARS += PATH_OVERRIDE_SOONG
- 打开
直接修正出错的Android.bp
打开vendor/lineage/build/soong/Android.bp,定位到第24行的generated_kernel_includes模块,将$(PATH_OVERRIDE_SOONG)替换为$(TOOLS_PATH_OVERRIDE);若编译环境无需路径覆盖,可直接删除该变量引用。校验源码完整性
执行以下命令重新同步完整源码,避免LineageOS相关补丁缺失:repo sync -c -j$(nproc --all) --force-sync --no-clone-bundle --no-tags
验证步骤
修改完成后,清理构建产物并重新编译:
make clean source build/envsetup.sh lunch ricetissot-userdebug m -j$(nproc --all)
内容的提问来源于stack exchange,提问作者Sanjay Pasi
相关产品推荐
相关产品推荐

