問題描述
剛把1804虛擬機搭建起來,然后迫不及待的把Android Q代碼編譯起來视译,結果每次在編譯一兩分鐘之后就把如下錯誤院水,也不報具體源碼哪里有問題,搞的腦子著實大屋摔。
vendor/qcom/build/tasks/generate_extra_images.mk:558: warning: overriding commands for target `kernelclean'
device/qcom/common/generate_extra_images.mk:558: warning: ignoring old commands for target `kernelclean'
vendor/ts/build/tasks/gen_vehiclecfg_img.mk:87: warning: overriding commands for target `out/target/product/msmnile_gvmq/vehicledefcfg.img'
build/make/core/Makefile:1869: warning: ignoring old commands for target `out/target/product/msmnile_gvmq/vehicledefcfg.img'
vendor/ts/build/tasks/gen_vehiclecfg_img.mk:123: warning: overriding commands for target `out/target/product/msmnile_gvmq/vehicleconfig.img'
build/make/core/Makefile:1916: warning: ignoring old commands for target `out/target/product/msmnile_gvmq/vehicleconfig.img'
// 留意一下這個錯誤
18:30:48 ckati failed with: signal: killed
以上錯誤ckati構建系統(tǒng)強行把編譯行為中止了烁设。
找了好多資料都沒有找到原因是啥,平白無故的將我的編譯行為殺掉了钓试,我就猜測是不是什么系統(tǒng)資源不夠了装黑?因為之前把內(nèi)存調到4G的時候,系統(tǒng)經(jīng)常不報代碼原因弓熏,直接被干掉了恋谭。
于是基于這一點,查到默認安裝的Ubuntu18挽鞠,分區(qū)是自動分的疚颊, swap 分區(qū)只給了2G狈孔。但是電腦內(nèi)存16G,一般swap分區(qū)要大于或等于物理內(nèi)存(1-1.5倍)材义,而且剛跑程序電腦卡死無奈重啟均抽,top命令最后引起我注意的是進場command:kswapd0, 所以摁下重啟鍵回來增大swap分區(qū)試試其掂。
問題處理
增加交換分區(qū)步驟如下:
- 1.查看內(nèi)存情況:
free -m
- 2.創(chuàng)建一個新的swap文件
sudo dd if=/dev/zero of=swap bs=1G count=24
count的值是24G油挥, 創(chuàng)建文件名為swap。(這步應該在/路徑下執(zhí)行了) - 3.創(chuàng)建swap文件系統(tǒng)
sudo mkswap -f swap
- 4.開啟新的swap
sudo swapon swap
- 5.關閉并刪除原有的swap文件
sudo swapoff swapfile
sudo rm /swapfile
- 6.設置開機啟動
sudo subl /etc/fstab
將原有的swapfile改為swap
結論
安裝如上配置之后清寇,就可以開開心心編譯系統(tǒng)了喘漏。經(jīng)過半天的編譯,正常情況下就會編譯成功了