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

Android构建报错:Execution failed for task ':app:kaptDebugKotlin'

解决Android构建中kaptDebugKotlin任务失败的UTF-8编码问题

问题背景

构建Android应用时触发如下错误:

Execution failed for task ':app:kaptDebugKotlin'.
> A failure occurred while executing org.jetbrains.kotlin.gradle.internal.KaptWithoutKotlincTask$KaptExecutionWorkAction
   > java.lang.reflect.InvocationTargetException (no error message)

添加Hilt、Coroutines依赖,删除.gradle/.idea文件夹重建后问题仍存在。通过--stacktrace排查发现,根因是XML文件存在UTF-8编码格式错误,导致数据绑定注解处理器解析失败,核心报错链:

Caused by: org.apache.xerces.impl.io.MalformedByteSequenceException: Invalid byte 2 of 2-byte UTF-8 sequence.

解决方案

  • 定位出错的XML文件
    执行命令./gradlew clean build --info,在输出日志中搜索MalformedByteSequenceException,日志通常会直接标注出错的XML文件路径。如果未明确显示,优先排查近期修改过的布局XML、values资源XML,尤其是包含非ASCII字符(中文、特殊符号等)的文件。

  • 修复XML编码问题

    1. 统一文件编码为UTF-8:
      在Android Studio中打开目标XML文件,点击右下角的当前编码标识(如GBK、ISO-8859-1),选择UTF-8,然后根据提示选择Reload(直接用UTF-8重新加载)或Convert(将文件编码转换为UTF-8)。
    2. 移除非法字符:
      检查文件中是否存在乱码、不可见字符或不符合UTF-8规范的特殊符号,替换为合法的UTF-8字符。
    3. 明确声明编码:
      确保XML文件第一行存在编码声明:
      <?xml version="1.0" encoding="utf-8"?>
      
  • 清理缓存并重新构建

    • 点击Android Studio顶部菜单File -> Invalidate Caches... -> Invalidate and Restart,清除IDE缓存并重启。
    • 执行命令./gradlew clean build完成项目构建。

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.07.06 23:05:57