webrtc android 编译报错整理

1、UnicodeDecodeError: 'ascii' codec can't decode byte 0xe6 in position 685: ordinal not in range(128)

Traceback (most recent call last):
  File "/usr/lib/python3.6/multiprocessing/pool.py", line 120, in worker
    result = (True, func(*args, **kwds))
  File "/usr/lib/python3.6/multiprocessing/pool.py", line 45, in mapstar
    return list(map(*args))
  File "../../build/android/gyp/compile_java.py", line 258, in _ProcessJavaFileForInfo
    package_name, class_names = _ParsePackageAndClassNames(java_file)
  File "../../build/android/gyp/compile_java.py", line 239, in _ParsePackageAndClassNames
    for l in f:
  File "/usr/lib/python3.6/encodings/ascii.py", line 26, in decode
    return codecs.ascii_decode(input, self.errors)[0]
UnicodeDecodeError: 'ascii' codec can't decode byte 0xe6 in position 685: ordinal not in range(128)

这是因为python 用ascii 解析java 文件报错,webrtc java 默认是ascii 编码,我的情况是源码注释有中文,注释掉就没了,不过我另一个环境中文注释没有这种问题。。。。

在 src/build/android/gyp/compile_java.py,加一句打印可以清楚看到哪个文件出错

def _ParsePackageAndClassNames(java_file):
  package_name = ''
  class_names = []
  print ("---current file:" + java_file)

2、警告当做错误

添加  treat_warnings_as_errors=false 选项

tools_webrtc/android/build_aar.py --build-dir=temp --arch=arm64-v8a --extra-gn-args="treat_warnings_as_errors=false"

3、a bytes-like object is required, not 'str'

执行java --version,看下java 版本是不是java 1.8,确保版本是1.8



4、no module call dataclasses

pip3 install dataclasses (python3)
pip install dataclasses (python2)

执行上述命令安装dataclasses模块

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值