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

集成Jetpack Navigation后Android项目出现构建错误求助

解决Navigation Components集成时的重复资源错误(attr/animationMode)

错误详情

.../.gradle/caches/transforms-3/61b9b29ef6aaf7fe551e73466a9c3105/transformed/material-1.7.0/res/values/values.xml:7368:4:
Duplicate value for resource 'attr/animationMode' with config 'DEFAULT' and product ''
Resource was previously defined here: ...-mergeDevDebugResources-87:/values/values.xml:17777:
Caused by: com.android.aaptcompiler.ResourceCompilationException: Failed to compile values resource file ../build/intermediates/incremental/devDebug/mergeDevDebugResources/merged.dir/values/values.xml
Caused by: java.lang.IllegalStateException: Can not add resource (com.android.aaptcompiler.ParsedResource@3f82a8ef) to table

相关配置

  • Navigation版本:2.5.3
  • minSdk:21
  • targetSdk:33

问题原因

这个错误是由于Material Design库的多版本冲突导致的:Navigation 2.5.3会间接依赖某个版本的Material库,而你的项目中又直接或间接引入了另一个版本(比如报错里的1.7.0),两个版本同时定义了attr/animationMode资源,引发编译冲突。


解决步骤

1. 定位冲突依赖

执行Gradle命令查看项目依赖树,找出所有引入Material库的路径:

./gradlew app:dependencies --configuration debugCompileClasspath

搜索com.google.android.material:material,确认是否存在多个版本的依赖。

2. 统一Material库版本

在项目根目录的build.gradle(或settings.gradle,若使用Gradle Catalog)中强制指定所有依赖使用同一版本的Material库:

方式一:根build.gradle配置

allprojects {
    configurations.all {
        resolutionStrategy {
            // 强制使用1.7.0版本,可根据实际兼容情况调整
            force 'com.google.android.material:material:1.7.0'
        }
    }
}

方式二:Gradle Catalog(settings.gradle)配置

dependencyResolutionManagement {
    resolutions {
        eachDependency {
            if (requested.group == 'com.google.android.material' && requested.name == 'material') {
                useVersion '1.7.0'
            }
        }
    }
}

3. 清理缓存并重新构建

执行命令清除构建缓存,再重新编译项目:

./gradlew clean
./gradlew assembleDevDebug

4. 检查本地自定义资源

如果上述操作无效,检查项目res/values/目录下的自定义资源文件(如attrs.xml),确认是否手动定义了animationMode属性,若有则删除或重命名该属性。

5. 调整Navigation版本(可选)

若统一Material版本后仍有冲突,可尝试升级Navigation版本到与Material 1.7.0兼容的版本(如2.6.0及以上),同步更新相关依赖后重新构建。


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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.08.08 20:25:17