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

AOSP编译执行m指令报错fopen failed exit status 1问题求助

AOSP Tiramisu编译dex_preopt_config.mk报错解决方案

根因分析

  1. 宿主环境不符合官方编译要求:当前使用的Ubuntu 14.04 + Linux 3.10内核,低于Android 13(Tiramisu)要求的最低宿主环境Ubuntu 18.04 + 4.15以上内核,系统依赖、内核接口与高版本AOSP编译工具不兼容。
  2. 沙箱修改未生效:修改build/soong/ui/build/sandbox_linux.go后未重新编译soong构建工具,改动没有实际生效,nsjail沙箱仍存在文件访问拦截逻辑,导致配置文件打开失败。
  3. 旧编译残留冲突:out目录存在之前的编译残留文件,权限或格式错乱,导致dex_preopt配置加载时fopen失败。

修复步骤

  • 第一步:清除所有旧编译残留,执行命令:
    rm -rf out/
  • 第二步:重新编译soong构建工具,让沙箱修改生效,执行命令:
    make soong_ui
  • 第三步:临时关闭dex预编译功能规避当前报错,执行命令:
    export WITH_DEXPREOPT=false
    完成以上操作后重新执行lunch aosp_crosshatch-userdebug和m指令验证编译是否正常。
  • 第四步(长期最优方案):升级宿主系统到Ubuntu 18.04/20.04,内核版本升级到4.15以上,从根本上解决系统兼容性问题,无需手动修改沙箱代码,也不会出现各类适配报错。

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.09.25 11:15:05