如何解决Flutter在Android Studio运行iOS时CocoaPods编码报错问题
问题原因
- 核心报错为
Encoding::CompatibilityError(编码兼容性错误),CocoaPods运行要求终端使用UTF-8编码,Android Studio调用shell执行pod install时,环境默认编码为ASCII-8BIT,不满足CocoaPods的运行要求,因此触发报错。 - VS Code可正常运行的原因是:VS Code启动时会默认加载用户的全局shell配置文件(如
~/.zshrc、~/.bash_profile、~/.profile),若你已在全局配置中设置过UTF-8编码,VS Code调用CocoaPods时编码是符合要求的。 - Android Studio默认不会加载用户的全局shell环境变量,会使用系统默认的编码配置,因此出现编码不匹配问题。
解决方案
方案1:临时生效
关闭当前Android Studio,通过终端启动应用使其继承终端的环境变量:
- 打开终端,执行命令:
open /Applications/Android\ Studio.app - 重新打开项目运行即可
方案2:永久修复Android Studio编码配置
直接在Android Studio内部配置强制使用UTF-8编码:
- 打开Android Studio,进入
Preferences > Tools > Terminal页面 - 在「Environment variables」配置项中添加两个变量:
LANG=en_US.UTF-8、LC_ALL=en_US.UTF-8 - 保存配置后重启Android Studio即可正常运行
方案3:全局修复系统编码配置
如果未配置过全局编码规则,可修改shell配置文件永久生效:
- 若使用zsh(Mac默认shell),执行
open ~/.zshrc;若使用bash,执行open ~/.bash_profile - 在文件末尾添加以下两行配置:
export LANG=en_US.UTF-8 export LC_ALL=en_US.UTF-8
- 保存后执行
source ~/.zshrc(bash用户执行对应bash配置文件的source命令)使配置生效,重启Android Studio即可
内容的提问来源于stack exchange,提问作者Shibaji Debnath
相关产品推荐
相关产品推荐

