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

AOSP 7.1全量构建后执行'm'命令耗时超1小时,如何提速?

加快AOSP 7.1中m命令执行速度的方法
  • 检查构建缓存状态

    • 确认ccache已启用,执行export USE_CCACHE=1开启,再用prebuilts/misc/linux-x86/ccache/ccache -M 50G给缓存分配50G以上空间。运行ccache -s查看命中率,若命中率低,大概率是缓存目录权限异常或空间不足,需对应调整。
    • 排查是否有脚本、工具定期清理.ccache目录,缓存被清空会直接触发全量重新编译。
  • 确认m命令的执行上下文

    • 全量构建后若切换过分支、修改过Android.mk/BoardConfig.mk这类全局配置文件,会触发大量文件重新编译。如果仅修改单个模块,直接用mm或mmm指定模块编译,避免触发全量构建。
    • 检查环境变量是否正确:ANDROID_BUILD_TOP需指向项目根目录,PATH要包含AOSP预编译工具链路径,环境变量异常会导致构建系统误判依赖关系。
  • 优化构建系统的依赖检测

    • AOSP 7.1的Make构建系统有时会因文件时间戳问题误判变更,可尝试先执行make clean再重新全量构建一次,之后再运行m观察是否仍全量编译。
    • 给文件系统开启noatime挂载选项,默认的文件访问时间更新会干扰Make的依赖检测。修改/etc/fstab添加noatime后重新挂载对应分区即可。
  • 硬件与并行编译优化

    • 增加并行编译线程数,执行export NINJA_ARGS="-j$(nproc)"或export MAKEFLAGS="-j$(nproc)",利用多核CPU加速编译。注意线程数不要超过CPU核心数的1.5倍,避免资源耗尽拖慢速度。
    • 务必使用SSD存储,机械硬盘的IO速度会严重拖慢构建流程,尤其是依赖检测和缓存读写阶段。
  • 排查模块依赖问题

    • 执行make dependencies重新生成依赖关系文件,若依赖文件损坏,会导致构建系统重新扫描所有文件。
    • 检查自定义模块的Makefile是否存在错误,比如LOCAL_SRC_FILES路径错误、缺失依赖声明等,这类问题会导致无关模块被重复编译。

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.07.20 05:27:10