HarmonyOS鸿蒙Next在Windows下编译Hi3861出现异常提示"UnicodeDecodeError: ‘utf-8' codec can't decode xxx",怎么解决?
HarmonyOS鸿蒙Next在Windows下编译Hi3861出现异常提示"UnicodeDecodeError: ‘utf-8’ codec can’t decode xxx",怎么解决?
问题描述:
DevEco Device Tool工具自从3.1.400版本支持在Windows平台编译Hi3861,但是在实际过程中,可能用户点击Build按钮后执行编译任务过程中,会出现异常导致编译失败。
异常提示主要为"UnicodeDecodeError: ‘utf-8’ codec can’t decode byte @xb2 in position 72: invalid start byte"
解决措施:
出现这个异常,主要是因为用户使用的源码中的定义的编码格式与实际环境的冲突造成的,用户可以通过修改源码中的编码格式来解决这个问题。
- 根据异常信息中文件路径E:\hi3861\src\build\lite\hb\common\utils. py(每个用户需要根据自己的实际情况,主要是源码目录下的src\build\lite\hb\common\utils. py)。
- 修改如下图的四个地方 更改源码下对应方框中的 utf-8 更改为 GBK 。
- 保存之后,点击Rebuild重新编译。
使用UTF-8编码。可以使用文本编辑器(如Notepad++)检查并转换编码。
-
修改Python脚本:在Python脚本中指定编码,例如在文件开头添加
# -*- coding: utf-8 -*-
。 -
环境变量设置:确保系统环境变量
PYTHONIOENCODING
设置为utf-8
,可以通过命令set PYTHONIOENCODING=utf-8
设置。 -
更新工具链:确保使用的编译工具链和依赖库是最新版本,避免因旧版本导致的编码问题。
通过这些步骤,通常可以解决该编码错误。