编译安卓系统源码时异常处理

编译安卓系统源码时异常处理

提示语法错误,如下所示:

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

编译安卓系统源码时异常处理_第1张图片

网上搜到一些帖子,都是直接让改device/generic/goldfish/tools/mk_combined_img.py文件中内容即可,此时会发现修改了也可能不行。会再次报出解释器错误,此时原因也显而易见了。

编译安卓系统源码时异常处理_第2张图片

原因

我用的时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

image-20230429205522395

安装完成后,输入

在 aosp 目录下执行

vim device/generic/goldfish/tools/mk_combined_img.py

修改为下图所示,python改为python2,修改完成,保存退出即可。

编译安卓系统源码时异常处理_第3张图片

重新执行

make -j16

完成

编译安卓系统源码时异常处理_第4张图片

你可能感兴趣的:(android,linux,ubuntu)