编译安卓源码提示:TypeError: argument should be integer or bytes-like object, not ‘str‘
程序员文章站
2022-07-15 15:39:25
...
编译安卓源码的时候,需要搭建环境。经过千辛万苦,终于解决了之前的一些依赖库、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 的那就对了。
再执行编译脚本全编译试试