欢迎您访问程序员文章站本站旨在为大家提供分享程序员计算机编程知识!
您现在的位置是: 首页

编译安卓源码提示: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  的那就对了。

再执行编译脚本全编译试试

上一篇: hash 算法

下一篇: hash 算法