You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

构建后strings.xml中字符变为问号问题求助(Windows10 1607/AS3.0.1)

解决Android Studio构建后strings.xml字符变为问号的问题

我之前在Windows 10旧版本搭配早期AS版本时也碰到过一模一样的问题,核心基本都是编码配置或者缓存异常导致的,给你几个按优先级排序的解决方案:

1. 检查并统一Android Studio的编码设置

这是最常见的原因,Windows系统默认编码和AS要求的UTF-8不匹配会导致字符乱码/转成问号:

  • 打开File > Settings > Editor > File Encodings
  • 确保以下三项全部设置为UTF-8:
    • IDE Encoding
    • Project Encoding
    • Default encoding for properties files
  • 务必勾选Transparent native-to-ascii conversion选项(这个选项负责自动处理非ASCII字符的转义,避免构建时丢失)
  • 点击Apply后重启Android Studio生效

2. 确认strings.xml文件本身的编码

有时候单个文件的编码不是UTF-8,即使全局设置对了也会出问题:

  • 在AS中打开strings.xml,看窗口右下角的编码标识(比如显示UTF-8),如果显示其他编码(比如GBK),点击编码选择Convert to UTF-8
  • 也可以用外部编辑器(比如Notepad++)打开strings.xml,查看编码并转换为UTF-8后保存,再回到AS中同步

3. 在build.gradle中强制指定编码

给项目的构建过程明确指定编码,避免Gradle用系统默认编码处理:
打开app模块下的build.gradle文件,在android节点中添加以下配置:

android {
    // 其他已有配置...
    compileOptions {
        encoding "UTF-8"
        sourceCompatibility JavaVersion.VERSION_1_8
        targetCompatibility JavaVersion.VERSION_1_8
    }
}

添加完成后点击Sync Project with Gradle Files,再执行Build > Rebuild Project

4. 清理AS缓存并重新构建

有时候缓存损坏也会导致构建时出现奇怪的编码问题:

  • 点击File > Invalidate Caches / Restart...
  • 在弹出的窗口中选择Invalidate and Restart
  • 重启完成后,先执行Build > Clean Project,再执行Build > Rebuild Project

5. 排查特殊字符问题

如果以上方法都没用,检查strings.xml中是否包含一些系统难以识别的生僻字符或特殊符号,尝试替换成常用字符后再构建测试,确认是否是字符本身的问题

内容的提问来源于stack exchange,提问作者Janak

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.05.27 04:05:13