编译Mi A1(tissot)的AOSP ROM时遇ninja错误,求解析与修复
编译小米A1(tissot)AOSP ROM时的libqdMetaData.so.toc缺失错误分析与解决
错误含义
该错误说明ninja构建系统找不到out/target/product/tissot/obj_arm/SHARED_LIBRARIES/libqdMetaData_intermediates/libqdMetaData.so.toc文件,而这个文件是编译相机模块camera.msm8953.so的必需依赖,同时系统没有对应的规则生成这个缺失文件。
libqdMetaData是高通平台下和显示、相机功能绑定的闭源库,属于设备专属的vendor二进制组件,这类组件需要单独提取并加入AOSP源码才能完成编译。
解决方法
- 补全并验证vendor二进制文件
小米A1的AOSP编译必须依赖对应设备的完整闭源驱动组件。如果这些文件缺失、版本不匹配或安装路径错误,就会触发依赖缺失问题。重新从官方固件或可信渠道提取适配你所用AOSP版本的tissot vendor blobs,将其正确放置到vendor/xiaomi/tissot目录下。 - 清理构建缓存后重新编译
先清除之前的构建残留,避免缓存文件干扰:
再重新初始化构建环境并启动编译:make clean rm -rf out/source build/envsetup.sh lunch tissot-userdebug make -j$(nproc) - 检查设备配置文件
确认device/xiaomi/tissot目录下的BoardConfig.mk等配置文件,是否正确配置了libqdMetaData相关的依赖路径与编译规则,确保vendor库的路径被加入构建系统的搜索范围。 - 确认AOSP代码分支适配性
确保你使用的AOSP代码分支与小米A1(tissot)兼容,比如Android 8.1或9.0的稳定分支。不同Android版本的AOSP对vendor组件的依赖逻辑存在差异,分支不匹配会导致依赖无法解析。
内容的提问来源于stack exchange,提问作者Sanjay Pasi
相关产品推荐
相关产品推荐

