排查 Android Studio 构建输出乱码

336 字
2 分钟
排查 Android Studio 构建输出乱码

现象#

Android Studio 的 Build 窗口中,英文日志正常,但中文编译错误显示为乱码。修改编辑器中的文件编码没有效果。

Android Studio Build 窗口中的中文乱码
乱码出现在构建输出而不是源文件编辑区。

快速结论#

先确认乱码来自 Gradle 进程还是 Android Studio 自身。Gradle 输出乱码时优先设置 Gradle JVM 编码;只有 IDE 自身界面或日志乱码时,才修改 Android Studio 的自定义 VM 参数。

修复 Gradle 输出#

在项目的 gradle.properties 中合并 JVM 参数,不要覆盖原有内存配置:

org.gradle.jvmargs=-Xmx2048m -Dfile.encoding=UTF-8

停止旧守护进程后重新构建:

./gradlew --stop
./gradlew clean assembleDebug

修复 IDE JVM 输出#

  1. 在 Android Studio 中选择 Help > Edit Custom VM Options。
  2. 添加 -Dfile.encoding=UTF-8。
  3. 完全退出并重新打开 Android Studio。

不要直接修改安装目录中的默认 VM Options;升级 IDE 时该文件可能被覆盖。

验证#

从终端和 Build 窗口分别执行同一 Gradle 任务。如果终端正常但 IDE 仍乱码,问题更可能在 IDE JVM 或终端字体;如果两处都乱码,继续检查 Gradle JVM、操作系统区域设置和产生日志的第三方工具。

预防措施#

项目源文件统一保存为 UTF-8,并将构建编码写入项目级配置。团队成员不应依赖某台机器的全局 Android Studio 设置。

参考#

文章分享

如果这篇文章对你有帮助,欢迎分享给更多人!

排查 Android Studio 构建输出乱码
https://blog.mintalix.com/posts/study-androidstudio-messy-code/
作者
Mint
发布于
2021-07-10
许可协议
CC BY-NC-SA 4.0

评论区

Profile Image of the Author
Mint
软件开发、工程实践与技术思考。
分类
标签