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

Gradle构建失败:资源处理错误,@android:attr/windowBackground未找到

解决"style attribute '@android:attr/windowBackground' not found"构建错误

我之前也碰到过一模一样的问题,别着急,咱们一步步排查解决:

  • 第一步:统一所有模块的SDK版本配置
    这个错误大概率是不同模块的compileSdkVersion/targetSdkVersion不统一,或者版本过低导致的。打开项目中所有模块的build.gradle(包括主模块和子模块),确保以下配置保持一致,并且至少设置为API 21及以上:

    android {
        compileSdkVersion 33 // 或者你项目使用的稳定版本
        defaultConfig {
            targetSdkVersion 33
            // ...其他配置
        }
    }
    

    注意如果是用根项目的ext变量统一管理的,要确认根目录build.gradle里的变量定义正确,比如:

    buildscript {
        ext {
            compileSdkVersion = 33
            targetSdkVersion = 33
        }
        // ...其他配置
    }
    
  • 第二步:清理构建缓存并重新构建
    你提到的build文件夹是自动生成的,不能直接修改,先清理掉旧的缓存文件:
    执行命令:

    gradlew clean
    

    然后再重新执行构建命令:

    gradlew assembleDebug --scan
    

    有时候缓存文件损坏会导致这种奇怪的资源处理错误,清理后大概率能解决。

  • 第三步:检查自定义Style的引用方式
    如果上面两步没解决,去检查你项目中自定义的Style文件(不是build文件夹下的),看是否有错误引用@android:attr/windowBackground的地方。正确的引用系统属性应该用?android:attr/windowBackground(注意开头是问号),而不是@符号。比如:
    错误写法:

    <item name="android:windowBackground">@android:attr/windowBackground</item>
    

    正确写法:

    <item name="android:windowBackground">?android:attr/windowBackground</item>
    

    或者如果你是要设置具体的颜色/ drawable,直接指定资源即可,比如@color/white。

  • 第四步:检查模块依赖是否正确
    如果是Library模块出现的问题,确认该模块的build.gradle中没有错误的依赖配置,比如是否误将compileSdkVersion设置成了compileSdkPreview或者其他非稳定版本,导致无法找到系统属性。

按照上面的步骤排查,基本能解决这个问题。

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.05.22 08:13:57