20240830解决编译OrangePi5Plus的Android12出现问题UnicodeDecodeError: ‘ascii‘ codec can‘t decode byte 0xe6 in p

20240830解决编译OrangePi5Plus的Android12出现问题UnicodeDecodeError: 'ascii' codec can't decode byte 0xe6 in position 51: ordinal not in range(128)
2024/8/30 16:19


缘起:编译Orange Pi5 Plus的Android12,为了图省事,解压缩之后直接编译,结果就:果然出错了!
百度之后才知道:路径之中不能有中文字符。
rootroot@rootroot-desktop:~/RK3588_Android_Source_Code/Android12源码/Android_12$ 


[ 68% 91089/133309] //frameworks/base/services/incremental:service.incremental clang-tidy IncrementalService.cpp
out/soong/.intermediates/frameworks/base/services/incremental/service.incremental.proto/android_arm64_armv8-a_static/gen/proto/frameworks/base/services/incremental/Metadata.pb.h:503:17: warning: operator=() does not handle self-assignment properly [bugprone-unhandled-self-assignment]
  inline Mount& operator=(const Mount& from) {
                ^
[ 69% 92875/133309] AIDL Java frameworks/base/media/aidl/android/media/soundtrigger_middleware/SoundModel.aidl
WARNING: frameworks/base/media/aidl/android/media/soundtrigger_middleware/SoundModel.aidl:28.19-24: The enum field 'type' has no explicit value. [-Wenum-explicit-default]
[ 69% 92876/133309] AIDL Java frameworks/base/media/aidl/android/media/soundtrigger_middleware/RecognitionEvent.aidl
WARNING: frameworks/base/media/aidl/android/media/soundtrigger_middleware/RecognitionEvent.aidl:28.22-29: The enum field 'status' has no explicit value. [-Wenum-explicit-default]
WARNING: frameworks/base/media/aidl/android/media/soundtrigger_middleware/RecognitionEvent.aidl:30.19-24: The enum field 'type' has no explicit value. [-Wenum-explicit-default]
13:47:47 ninja failed with: exit status 1
[ 69% 93102/133309] //hardware/ril/librilutils:librilutils protoc proto/sap-api.proto [arm]
FAILED: out/soong/.intermediates/hardware/ril/librilutils/librilutils/android_vendor.32_arm_armv8-a_static/gen/proto/hardware/ril/librilutils/proto/sap-api.pb.c out/soong/.intermediates/hardware/ril/librilutils/librilutils/android_vendor.32_arm_armv8-a_static/gen/proto/hardware/ril/librilutils/proto/sap-api.pb.h
out/soong/host/linux-x86/bin/aprotoc --nanopb_out=-
T:out/soong/.intermediates/hardware/ril/librilutils/librilutils/android_vendor.32_arm_armv8-a_static/gen/proto --dependency_out=out/soong/.intermediates/hardware/ril/librilutils/librilutils/android_vendor.32_arm_armv8-a_static/gen/proto/hardware/ril/librilutils/proto/sap-api.pb.d -I . --plugin=out/soong/host/linux-x86/bin/protoc-gen-nanopb hardware/ril/librilutils/proto/sap-api.proto && out/soong/host/linux-x86/bin/dep_fixer out/soong/.intermediates/hardware/ril/librilutils/librilutils/android_vendor.32_arm_armv8-a_static/gen/proto/hardware/ril/librilutils/proto/sap-api.pb.d # hash of input list: 0adb0b843f547df82a449eac34d2fd9e240aeaa6f50ff508f54987ca3fd751e0
Traceback (most recent call last):
  File "/home/rootroot/RK3588_Android_Source_Code/Android12源码/Android_12/out/soong/host/linux-x86/bin/protoc-gen-nanopb/internal/stdlib/runpy.py", line 174, in _run_module_as_main
  File "/home/rootroot/RK3588_Android_Source_Code/Android12源码/Android_12/out/soong/host/linux-x86/bin/protoc-gen-nanopb/internal/stdlib/runpy.py", line 72, in _run_code
  File "/home/rootroot/RK3588_Android_Source_Code/Android12源码/Android_12/out/soong/host/linux-x86/bin/protoc-gen-nanopb/__main__.py", line 12, in <module>
  File "/home/rootroot/RK3588_Android_Source_Code/Android12源码/Android_12/out/soong/host/linux-x86/bin/protoc-gen-nanopb/internal/stdlib/runpy.py", line 174, in _run_module_as_main
  File "/home/rootroot/RK3588_Android_Source_Code/Android12源码/Android_12/out/soong/host/linux-x86/bin/protoc-gen-nanopb/internal/stdlib/runpy.py", line 72, in _run_code
  File "/home/rootroot/RK3588_Android_Source_Code/Android12源码/Android_12/out/soong/host/linux-x86/bin/protoc-gen-nanopb/nanopb_generator.py", line 1841, in <module>
UnicodeDecodeError: 'ascii' codec can't decode byte 0xe6 in position 51: ordinal not in range(128)
--nanopb_out: protoc-gen-nanopb: Plugin failed with status code 1.
[ 69% 93104/133309] //hardware/ril/librilutils:librilutils protoc proto/sap-api.proto
FAILED: out/soong/.intermediates/hardware/ril/librilutils/librilutils/android_vendor.32_arm64_armv8-a_static/gen/proto/hardware/ril/librilutils/proto/sap-api.pb.c out/soong/.intermediates/hardware/ril/librilutils/librilutils/android_vendor.32_arm64_armv8-a_static/gen/proto/hardware/ril/librilutils/proto/sap-api.pb.h
out/soong/host/linux-x86/bin/aprotoc --nanopb_out=-T:out/soong/.intermediates/hardware/ril/librilutils/librilutils/android_vendor.32_arm64_armv8-a_static/gen/proto --dependency_out=out/soong/.intermediates/hardware/ril/librilutils/librilutils/android_vendor.32_arm64_armv8-a_static/gen/proto/hardware/ril/librilutils/proto/sap-api.pb.d -I . --plugin=out/soong/host/linux-x86/bin/protoc-gen-nanopb hardware/ril/librilutils/proto/sap-api.proto && out/soong/host/linux-x86/bin/dep_fixer out/soong/.intermediates/hardware/ril/librilutils/librilutils/android_vendor.32_arm64_armv8-a_static/gen/proto/hardware/ril/librilutils/proto/sap-api.pb.d # hash of input list: 0adb0b843f547df82a449eac34d2fd9e240aeaa6f50ff508f54987ca3fd751e0
Traceback (most recent call last):
  File "/home/rootroot/RK3588_Android_Source_Code/Android12源码/Android_12/out/soong/host/linux-x86/bin/protoc-gen-nanopb/internal/stdlib/runpy.py", line 174, in _run_module_as_main
  File "/home/rootroot/RK3588_Android_Source_Code/Android12源码/Android_12/out/soong/host/linux-x86/bin/protoc-gen-nanopb/internal/stdlib/runpy.py", line 72, in _run_code
  File "/home/rootroot/RK3588_Android_Source_Code/Android12源码/Android_12/out/soong/host/linux-x86/bin/protoc-gen-nanopb/__main__.py", line 12, in <module>
  File "/home/rootroot/RK3588_Android_Source_Code/Android12源码/Android_12/out/soong/host/linux-x86/bin/protoc-gen-nanopb/internal/stdlib/runpy.py", line 174, in _run_module_as_main
  File "/home/rootroot/RK3588_Android_Source_Code/Android12源码/Android_12/out/soong/host/linux-x86/bin/protoc-gen-nanopb/internal/stdlib/runpy.py", line 72, in _run_code
  File "/home/rootroot/RK3588_Android_Source_Code/Android12源码/Android_12/out/soong/host/linux-x86/bin/protoc-gen-nanopb/nanopb_generator.py", line 1841, in <module>
UnicodeDecodeError: 'ascii' codec can't decode byte 0xe6 in position 51: ordinal not in range(128)
--nanopb_out: protoc-gen-nanopb: Plugin failed with status code 1.
[ 69% 93114/133309] //frameworks/base:platformprotos protoc 1 [linux_glibc common]
frameworks/base/core/proto/android/os/batteryusagestats.proto:22:1: warning: Import frameworks/proto_logging/stats/enums/os/enums.proto but not used.
frameworks/base/core/proto/android/view/imeinsetssourceconsumer.proto:19:1: warning: Import frameworks/base/core/proto/android/view/inputmethod/editorinfo.proto but not used.
ninja: build stopped: subcommand failed.

#### failed to build some targets (01:00:06 (hh:mm:ss)) ####

Build android failed!
rootroot@rootroot-desktop:~/RK3588_Android_Source_Code/Android12源码/Android_12$ python
Python 2.7.18 (default, Jan 31 2024, 16:23:13) 
[GCC 9.4.0] on linux2
Type "help", "copyright", "credits" or "license" for more information.
>>> exit()
rootroot@rootroot-desktop:~/RK3588_Android_Source_Code/Android12源码/Android_12$ 
rootroot@rootroot-desktop:~/RK3588_Android_Source_Code/Android12源码/Android_12$ 


参开资料:

https://www.sohu.com/a/453788722_120394639
 WebRTC编译Android报错‘ascii‘ codec can‘t decode byte 0xe6 in position 
2021-03-03 16:31
由于去年WebRTC-client已经初现成果,因此从开年复工起,我们就开始着力于WebRTC安卓版本的编译。编译WebRTC Android使用的是python2.7.x,出现错误提示如下:“UnicodeDecodeError: ‘ascii’ codec can’t decode byte 0xe6 in position 11: ordinal not in range”

该报错的意思大致是:字符不在128范围内。即不是普通的ASCII字符集,超出处理的能力,ASCII码表是从0~127之间的范围。错误提示128已经超出了ASCII表。

所以这个值的变量,无法处理ASCII码以外的字符集。

Ubuntu编译android程序的工作空间的目录不允许有中文。但是一般国内使用的Ubuntu都会默认安装成中文语言,用户目录下的名称都是中文。

对此我们有两种解决办法:

1、把中文目录修改为英文,注意要修改~/.bashrc中的环境,还需要把安装Ubuntu默认的中文改成英文,比如:桌面和下载等等。

2、因为我们此处安装的是虚拟机,重新安装ubuntu,选择英文即可,该方法过程比较简单,但是安装步骤稍费时。

目前我们已经开发了基于WebRTC实现的网页音视频通话系统EasyRTC,大家有兴趣也可以了解一下。

对于WebRTC的研究,大家可以关注我们,后续我们也将不断更新此类开发。WebRTC技术的开发将会给我们其他平台的视频直播带来一次变革更新,对于更多的建议和发展可能性,我们欢迎大家的沟通探讨。

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值