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

Android Studio开发游戏遇values.xml错误:无法识别macro标签类型

解决values.xml中Can't determine type for tag '<macro name="m3_comp_bottom_app_bar_container_color">attr/colorSurface</macro>'错误
  • 检查Material Design库与AGP版本兼容性:
    <macro>是Material 3的特性,旧版Android Gradle插件(AGP 7.0及以下)不支持。建议将AGP升级到7.1+,同时Material 3库版本至少用1.0.0以上。
    在模块级build.gradle中修改依赖:

    dependencies {
        implementation 'com.google.android.material:material:1.9.0' // 或更高稳定版
    }
    

    项目根目录build.gradle里的AGP版本同步调整:

    dependencies {
        classpath 'com.android.tools.build:gradle:7.4.2' // 适配API32的稳定版
    }
    
  • 排查Material版本冲突:
    确保项目没有同时混用Material Design 2和3的资源,移除所有M2相关依赖(比如旧的com.android.support:design或M2版本的material库),统一使用M3依赖。

  • 清理缓存重启:

    1. 点击Android Studio顶部菜单栏File > Invalidate Caches...,选择Invalidate and Restart
    2. 重启后等待Gradle重新同步,再尝试编译
  • 调整SDK配置:
    虽然你用的是API32,但Material 3对targetSdkVersion 31+支持更好。检查模块级build.gradle:

    android {
        compileSdk 32
        defaultConfig {
            targetSdk 32
            // 其他配置...
        }
    }
    

    若问题仍存在,可尝试将compileSdk和targetSdk升级到33(兼容API32设备,且M3支持更完善)

  • 临时应急方案(不推荐长期用):
    若暂时无法升级依赖,可手动替换报错的macro标签为直接属性引用:
    将

    <macro name="m3_comp_bottom_app_bar_container_color">attr/colorSurface</macro>
    

    替换为

    <item name="m3_comp_bottom_app_bar_container_color" type="color">?attr/colorSurface</item>
    

    注意:此操作可能导致其他M3组件样式异常,仅作临时解决用。

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.08.15 08:35:30