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

自定义布局参数报错Illegal char <:>,SDK32升33后失效

解决Android SDK 33升级后自定义属性资源编译错误

问题原因

升级到Android SDK 33后,资源编译器对自定义属性中的localization="suggested"属性处理逻辑发生变更,导致生成的资源路径出现非法字符:,触发编译异常。

修复步骤

  1. 移除自定义属性中的localization属性
    修改values/attrs.xml文件,删除placeHolder属性上的localization="suggested"配置:

    <?xml version="1.0" encoding="utf-8"?>
    <resources>
        <declare-styleable name="RichTextLayout">
            <attr name="placeHolder" format="string" />
            <attr name="imageAspectRatio" format="string"/>
            <attr name="editorTextColor" format="color" />
            <attr name="editorBackgroundColor" format="color" />
        </declare-styleable>
    </resources>
    
  2. 清理并重新构建项目
    执行以下操作清除缓存并重新编译:

    • 在Android Studio中依次点击Build -> Clean Project,再点击Build -> Rebuild Project
    • 或在终端运行命令:
      ./gradlew clean assembleDebug
      

补充排查点

如果移除localization属性后仍报错,可检查:

  • 确保Gradle插件版本与SDK 33兼容(推荐使用7.4.0及以上版本)
  • 排查项目其他资源文件是否存在类似不兼容属性或非法字符

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.08.06 14:20:39