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

Android构建时mergeDebugResources任务出现Failed to flatten XML错误如何解决

问题产生原因
  • 你在字符串资源中额外添加了多余的<Data>标签,Android资源编译器处理strings.xml时,不需要用<Data>标签包裹CDATA内容,多余的标签会让编译器识别文本样式结构时判定存在未闭合的标签,直接触发Attempting to flatten xml with unfinished spans报错。
  • 另外注意报错指向的是名为activity_cancel_membership_limit1000的字符串资源,你贴出的是activity_cancel的代码,需要确认目标字符串是否也存在标签未闭合、CDATA书写不规范的同类问题。
修复方案
  • 首先定位到strings.xml第831行对应的activity_cancel_membership_limit1000资源,检查所有HTML标签是否完全闭合,CDATA块格式是否正确。
  • 删除所有字符串资源中多余的<Data>标签,带HTML样式的字符串正确写法参考如下:
<string name="activity_cancel"><![CDATA[Press to<font color='#D13F57'> Cancel</font>]]></string>
  • 如果要在页面中加载带样式的字符串,需要用Html.fromHtml解析后再赋值给控件,示例代码如下:
// Kotlin 实现
val styleText = Html.fromHtml(getString(R.string.activity_cancel), Html.FROM_HTML_MODE_COMPACT)
targetTextView.text = styleText
// Java 实现
String styleText = Html.fromHtml(getString(R.string.activity_cancel), Html.FROM_HTML_MODE_COMPACT);
targetTextView.setText(styleText);

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.10.08 05:27:00