Flutter构建签名APK时出现Malformed \uxxxx encoding错误如何解决?
报错根因
Malformed \uxxxx encoding错误是Gradle解析properties文件时遇到非法Unicode转义符触发的,你debug模式构建正常是因为debug模式不需要加载release签名配置,不会触发key.properties文件解析,只有release构建加载签名配置时才会报错。
报错指向的build.gradle第31行是加载签名配置的代码段,问题出在你项目android根目录下的key.properties文件中的storeFile路径格式:
Windows系统默认路径用\作为分隔符,而Gradle解析properties文件时会把\识别为Unicode转义符的开头,如果你写的是类似storeFile=C:\Users\Ahmed\mykey.jks的格式,\U会被误判为\u开头的Unicode编码,直接触发格式错误。
修复步骤
- 打开项目
android目录下的key.properties文件,找到storeFile配置行 - 把路径里的单反斜杠
\替换为以下任意一种合法格式即可:- 用正斜杠
/替代:示例storeFile=C:/Users/Ahmed/keystore/my_release_key.jks - 用双反斜杠
\\转义:示例storeFile=C:\\Users\\Ahmed\\keystore\\my_release_key.jks
- 用正斜杠
- 保存文件后重新执行
flutter build apk即可正常构建release安装包
补充排查点
如果修改后仍报错,检查两个常见问题:
- 确认
key.properties文件编码为UTF-8无BOM,没有隐藏的特殊字符 - 确认
storeFile指向的签名文件路径真实存在,没有拼写错误
内容的提问来源于stack exchange,提问作者artistAhmed
相关产品推荐
相关产品推荐

