我在dts中做了一些更改,当我从aosp-root-directory
中给出make -j8
时,我没有看到在构建它并启动我的板后发生的更改。它会在一分钟左右迅速形成。为了使变化发生,我不得不给make clean
。
给予清洁大约需要4小时。每次我在build/dts中做任何更改时,我是否必须给make clean,或者我们是否可以以某种方式清理内核并构建它而不清理整个OUT
目录?
为了执行更改并确保它们出现在映像中,我在make之前手动删除了系统和供应商映像:
find ./out -name vendor.img -delete -o -name system.img -delete
,然后做:
make -j8
在大多数情况下,应该由构建系统拾取这些更改。但是为了确保减少构建时间,您可以使用make installclean
而不是make clean
并重新构建。
另外,考虑启用编译器缓存(ccache)来加快后续构建。
检查缓存的标志:https://cs.android.com/android/platform/superproject/+/主:构建//核心/ccache.mk
您可以尝试以下选项:
-
建议先用
make installclean
,再用make -j32
。installclean
将只清除相关的输出文件。 -
dts文件使用dtc编译器编译成dtb格式。删除内核文件夹中的相关dtb文件并重新构建。DTB文件通常集成到boot.img中。所以删除所有的引导。/out和/kernel文件夹
find out/ kernel/ -name boot.img | xargs rm
第二种方法在这种情况下会更快。但是一个更简洁的方法应该是第一个方法。
make clean
将清除整个/out目录,这将比make installclean
增加构建时间。构建时间还取决于主机的能力。