编译安卓系统源码时异常处理
提示语法错误,如下所示:
FAILED: out/target/product/generic/system-qemu.img
/bin/bash -c "(export SGDISK=out/host/linux-x86/bin/sgdisk SIMG2IMG=out/host/linux-x86/bin/simg2img; device/generic/goldfish/tools/mk_combined_img.py -i out/target/product/generic/system-qemu-config.txt -o out/target/product/generic/system-qemu.img)"
File "device/generic/goldfish/tools/mk_combined_img.py", line 48
print "'%s' cannot be converted to int" % (line[2])
^
SyntaxError: invalid syntax
网上搜到一些帖子,都是直接让改device/generic/goldfish/tools/mk_combined_img.py
文件中内容即可,此时会发现修改了也可能不行。会再次报出解释器错误,此时原因也显而易见了。
原因
我用的时Ubuntu系统,我装的python是python3.10版本,而图片中报错原因为语法错误。device/generic/goldfish/tools/mk_combined_img.py
中使用的语法为python2的语法,所以此时我们需要安装python2。但是我们系统中已经存在python3了,所以此时我们需要安装多环境。
启用Universe仓库
sudo apt-add-repository universe
sudo apt update
安装python2.7
sudo apt install python2-minimal
安装完以后查看python版本
python2 --version
安装完成后,输入
在 aosp 目录下执行
vim device/generic/goldfish/tools/mk_combined_img.py
修改为下图所示,python改为python2,修改完成,保存退出即可。
重新执行
make -j16
完成