如何仅编译AOSP的部分模块,无需编译完整安卓源码?
安卓frameworks/base模块单独编译答疑
完全可以仅编译frameworks/base模块,无需编译完整安卓源码,只要你已经完成过一次对应目标设备的全量编译配置,后续修改都可以单独编译该模块,全程不需要联网,能节省大量时间。
操作步骤
- 首先进入安卓源码根目录,执行环境初始化命令:
source build/envsetup.sh - 执行
lunch命令选择你之前配置过的目标设备编译变体 - 执行对应编译命令即可:
- 仅编译framework核心部分:
make framework - 若修改的是services子模块:
make services - 编译framework全量相关变更:
make framework-minus-apex(兼容性更强,推荐使用)
- 仅编译framework核心部分:
后续部署
编译完成后不需要生成完整刷机包,你可以直接将out目录下生成的framework.jar、services.jar等产物推送到调试设备的/system/framework目录,或者直接执行adb sync一键同步变更到已解锁的调试设备即可。
注意:如果你是首次编译该设备的安卓源码,必须先完成一次全量编译,确保所有依赖模块都完成预编译,后续的增量修改都可以使用上述单独编译命令,不会触发全量编译,也不需要额外拉取网络资源。
内容的提问来源于stack exchange,提问作者Markus Haas
相关产品推荐
相关产品推荐

