无法确定标记“<macro name="m3_comp_bottom_app_bar_container_color">?attr/colorSurface</macro>”的类型

stu*_*oi_ 139 android android-studio

我在运行 Android 应用程序时遇到问题:

无法确定标签“?attr/colorSurface”的类型

在此输入图像描述

小智 167

这是由于1.7.0

implementation 'com.google.android.material:material:1.7.0'
Run Code Online (Sandbox Code Playgroud)

你最好坚持下去1.6.0直到他们解决这个问题

implementation 'com.google.android.material:material:1.6.0'
Run Code Online (Sandbox Code Playgroud)

  • “com.google.android.material:material:1.8.0”也会发生这种情况 (35认同)
  • 降级不是解决方案 (30认同)
  • 我收到无法确定标记 '<macro name="m3_comp_assist_chip_container_shape">?attr/shapeAppearanceCornerSmall</macro>' 的类型 我搜索了实现 'com.google.android.material 但找不到任何代码行 (8认同)
  • 降级是解决方案,因为存在某种类型的资源冲突...... (5认同)
  • 又一天,Android 上又出现了一个荒谬的依赖问题:-/ 谢谢! (5认同)

The*_*eLV 54

build.gradle文件的“依赖项”部分所在的位置,粘贴以下内容:

implementation 'androidx.appcompat:appcompat:1.4.1'
implementation 'com.google.android.material:material:1.6.0'
Run Code Online (Sandbox Code Playgroud)

在这个部分。并删除具有相同文本和其他数字版本的旧字符串。就我而言:

implementation 'androidx.appcompat:appcompat:1.5.1'    
implementation 'com.google.android.material:material:1.7.0'
Run Code Online (Sandbox Code Playgroud)

它对我有用。

来源:: app:mergeReleaseResources 无法确定标签的类型 #33926

  • 谢谢!将材料更改回 1.6.0 解决了该问题 (4认同)

小智 34

我将Android Gradle插件升级到7.2.2,问题解决了。也尝试更新 Android Studio。


Edr*_*ric 25

基本原理

为了扩展现有的答案,Android 1.7.0 的 Material Components 发行说明提到他们已经更新了项目的最低要求(重点是我的):

您的应用项目的新最低要求:

他们的(更新的) 入门指南中也提到了这一点(再次强调我的):

5.Gradle、AGP 和 Android Studio

当使用 MDC-Android 版本1.7.0-alpha02及更高版本时,您需要确保您的项目是按照以下最低要求构建的,以支持最新的构建功能,例如 XMLmacro

更新 Android Gradle 插件

您可以按如下方式更新 Android Gradle 插件:

等级pluginsDSL

插件声明可以在顶级build.gradle/build.gradle.kts文件中找到:

plugins {
    // Or "com.android.library"
    id("com.android.application") version "7.2.2" apply false
}
Run Code Online (Sandbox Code Playgroud)

构建脚本类路径

更新AGPclasspath依赖项(通常在顶级build.gradle/build.gradle.kts文件中):

classpath("com.android.tools.build:gradle:7.2.2")
Run Code Online (Sandbox Code Playgroud)


小智 5

对于遇到此问题的 Flutter 用户,您可以这样解决:

转到:build.gradle 更改 "classpath 'com.andriod.tools.build:gradle:5.6.0'"

"classpath 'com.andriod.tools.build:gradle:<latest version>'"

就我而言::classpath 'com.android.tools.build:gradle:7.2.1'

然后转到:: android/gradle/wrapper/gradle-wrapper.properties

然后改变

distributionUrl=https\://services.gradle.org/distributions/gradle-5.4.3-all.zip

distributionUrl=https\://services.gradle.org/distributions/gradle-<latest>-all.zip

就我而言distributionUrl=https\://services.gradle.org/distributions/gradle-7.3.3-all.zip