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

Android构建报错:无法确定标签‘?attr/shapeAppearanceCornerSmall’类型的解决方法

问题分析与解决办法

问题本质

这确实是依赖版本不兼容引发的问题。你引入的test_sdk:1.1.5内部依赖了material-1.8.0,但你的项目编译SDK版本不足、或是项目自身依赖的Material Components版本和这个版本不匹配,导致资源合并时无法识别?attr/shapeAppearanceCornerSmall这个Material库特定属性。

具体解决步骤

  • 升级编译SDK版本
    打开模块的build.gradle(或build.gradle.kts),将compileSdkVersion设置为33及以上(Material 1.8.0要求最低编译SDK为33):

    android {
        compileSdkVersion 33
        // 其他配置
    }
    
  • 强制统一Material库版本
    在项目根目录的build.gradle中添加版本强制策略,让所有依赖使用同一版本的Material库,避免冲突:

    allprojects {
        repositories {
            // 你的仓库配置(比如google()、mavenCentral())
        }
        configurations.all {
            resolutionStrategy {
                // 可以选择和test_sdk一致的1.8.0,或是你项目原本使用的稳定版本
                force 'com.google.android.material:material:1.8.0'
            }
        }
    }
    

    若使用Gradle Kotlin DSL,写法为:

    allprojects {
        repositories {
            // 仓库配置
        }
        configurations.all {
            resolutionStrategy.force("com.google.android.material:material:1.8.0")
        }
    }
    
  • 排查依赖树
    执行命令查看test_sdk的完整依赖链,确认它引入的版本细节:

    ./gradlew app:dependencies --configuration releaseCompileClasspath
    

    在输出中找到test_sdk的分支,明确它依赖的Material版本,再针对性调整项目依赖。

  • 降级SDK版本(备选)
    如果上述方案无效,可以尝试更换test_sdk的低版本,比如:

    implementation 'com.xxxx..xx:test_sdk:1.1.0'
    

    选择一个依赖的Material版本和你项目兼容的SDK版本。

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.06.30 14:17:44