如何仅清理单个Android Launch Target?正确命令是什么?
Android构建:仅清理指定Launch Target的正确方式
我已经构建了两个Launch Target:
- aosp_x86_64-eng
- sdk_phone_x86_64-eng
第一个目标构建耗时3天,现在只想清理第二个目标。但官方文档中关于m clean的描述存在矛盾:
删除此配置的所有输出和中间文件,等同于
rm -rf out/.
一边说“针对此配置”,另一边又说等同于删除整个out目录——而out是所有Launch Target的共用构建目录,因此想确认m clean是否仅清理当前Launch Target,或是有更准确的命令?
解答
m clean实际上只会清理当前通过lunch选定的Launch Target的构建产物,官方文档里“等同于rm -rf out/.”的表述是不准确的,属于误导性描述。
正确的操作流程:
- 先切换到要清理的目标:
lunch sdk_phone_x86_64-eng - 执行
m clean,这只会删除该目标对应的out/target/product/<对应设备目录>以及相关中间文件,不会影响aosp_x86_64-eng的构建结果。
如果不想切换lunch环境,也可以手动删除指定目标的产物目录(目录名需根据实际情况调整):
rm -rf out/target/product/generic_x86_64/
内容的提问来源于stack exchange,提问作者zomega
相关产品推荐
相关产品推荐

