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

如何让mmm命令跳过耗时的Droiddoc文档构建步骤?

解决AOSP构建中Droiddoc耗时过长的问题

我太懂这种小改动却要等好几分钟的烦躁了——Droiddoc确实是AOSP构建流程里的耗时大户,尤其是当你只是改了几行内部代码,却被迫重新生成整个API文档的时候。给你几个实用的优化方案:

  • 直接跳过Droiddoc相关构建目标
    如果你当前开发阶段不需要更新API文档,完全可以让构建系统跳过这些步骤。执行mmm时添加参数即可:

    mmm frameworks/base -j9 -Dskip-docs
    

    或者通过环境变量全局临时禁用:

    export SKIP_DROIDDOC=true
    mmm frameworks/base -j9
    

    这能直接砍掉那些标注着Docs droiddoc和test-api-stubs-docs Droiddoc的步骤,节省大部分等待时间。

  • 缩小构建范围到具体子模块
    如果你只是修改了frameworks/base下某个特定子模块的代码(比如core/java/android/app/下的文件),没必要构建整个base模块,直接指定子模块路径:

    mmm frameworks/base/core/java/android/app -j9
    

    这样构建系统只会处理相关模块的代码,Droiddoc要么不触发,要么只处理极小范围的内容,耗时会大幅降低。

  • 彻底禁用API检查+文档生成(开发调试专用)
    如果你只是在本地调试代码,完全不需要维护API兼容性或生成文档,可以同时跳过API检查和Droiddoc:

    mmm frameworks/base -j9 -Dandroid.checkapi.disabled=true -Dskip-docs
    

    android.checkapi.disabled=true会关闭API兼容性检查,这部分流程有时候会和Droiddoc联动,一起禁用能进一步压缩构建时间。

  • 额外说明:为什么Droiddoc会触发?
    一般来说,只有当你修改了public API相关的代码(比如方法签名、类的可见性)时,Droiddoc才会被触发。但有时候构建系统的依赖关系可能会误判,哪怕你改的是内部实现代码也会跑Droiddoc。这时候上面的跳过方法就格外有用了。

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.05.20 10:27:38