如何设置Android Studio以在构建应用时显示正确的国际化字符串?
解决Android Studio构建时国际化字符串乱码问题
嘿,这个问题我之前帮好几个开发者解决过,给你整理几个实测有效的方案:
调整IDE编码核心设置
打开Android Studio的File > Settings > Editor > File Encodings(Mac用户是Android Studio > Settings > Editor > File Encodings),把以下三个选项全部设为UTF-8:- Global Encoding
- Project Encoding
- Default encoding for properties files
一定要勾选Transparent native-to-ascii conversion,这个选项专门处理.properties等本地化文件的字符转义,能让构建日志里的国际化字符串正常显示,不会变成乱码或者转义字符。
给Gradle添加编码配置
找到项目根目录的build.gradle(注意是Project级别的,不是Module的),在allprojects块里添加编译编码设置:allprojects { repositories { // 你的仓库配置... } // 新增编码配置 tasks.withType(JavaCompile) { options.encoding = "UTF-8" } // 如果是Kotlin项目,加上这个 tasks.withType(org.jetbrains.kotlin.gradle.tasks.KotlinCompile).configureEach { kotlinOptions.encoding = "UTF-8" } }同步Gradle后再重新构建项目,这一步能确保编译过程中用UTF-8处理字符,避免编码不匹配导致的乱码。
检查本地化文件本身的编码
右键你的strings.xml或者.properties本地化文件,选择File Encoding,如果显示的不是UTF-8,就切换成UTF-8并勾选Convert选项,这样能保证文件本身的编码是正确的,不会在读取时出现乱码。清理缓存后重建
有时候旧的构建缓存会残留乱码数据,执行Build > Clean Project,然后Build > Rebuild Project,彻底清理后重新构建,一般就能看到正常的国际化字符串了。
内容的提问来源于stack exchange,提问作者HelloCW




