編譯安卓源碼的時候,需要搭建環境。經過千辛萬苦,終于解決了之前的一些依賴庫、swap分區的等系列錯誤之後,編譯終于可以看到successfully
然而,在最後,還是出現了以下報錯。等了幾個小時,終于編完了,在最後的 .py 腳本執行打包的時候竟然 Failed了。
百度搜了很多,都是說python腳本内部的問題,顯然,在安卓源碼編譯裡,不是腳本中的代碼問題,因為同僚的可以編譯通過啊。那隻能是我電腦環境的問題了
build_image.py - INFO : The tree size of /tmp/tmpq_cyvp47 is 988 MB.
Traceback (most recent call last):
File "./build/tools/releasetools/merge_target_files.py", line 1014, in <module>
main()
File "./build/tools/releasetools/merge_target_files.py", line 996, in main
call_func_with_temp_dir(
File "./build/tools/releasetools/merge_target_files.py", line 893, in call_func_with_temp_dir
func(temp_dir)
File "./build/tools/releasetools/merge_target_files.py", line 997, in <lambda>
lambda temp_dir: merge_target_files(
File "./build/tools/releasetools/merge_target_files.py", line 775, in merge_target_files
add_img_to_target_files.main(add_img_args)
inodes = output.count('\n')
TypeError: argument should be integer or bytes-like object, not 'str'
這個是執行到.py報錯,基本上問題就在這裡了。
$ python3 --version
3.8.10
查詢我電腦環境(我沒有伺服器...電腦賊慢) 3.8.10。這個問題不大。
再執行以下
python --version
發現沒有。我電腦沒有安裝到python 2
倒也簡單,我用的是Ubuntu20.04,也就一句指令行的事情
sudo apt install python2.7
等待執行完畢之後
再執行 python --version 還是沒有啥列印啊
原來是要做python 的一個綁定。那就建立一個軟連結嘛
ln -s /usr/bin/python2.7 pyton
此時再執行 python --version 就可以看到列印的python版本資訊了。是python2.7 的那就對了。
再執行編譯腳本全編譯試試