升级Android Studio Arctic Fox后引入Hilt依赖报错ConstraintLayout找不到怎么办
Android Studio Arctic Fox添加Hilt导航依赖后ConstraintLayout丢失解决方案
根因说明
报错是因为添加androidx.hilt:hilt-navigation-fragment:1.0.0时,依赖传递冲突导致ConstraintLayout的传递依赖被覆盖/排除,Arctic Fox(对应AGP 7.0.x)版本下依赖默认传递规则有调整,不要依赖其他库的传递引入ConstraintLayout,必须显式声明。
正确配置步骤
1. 根目录build.gradle配置
确保Hilt插件版本和AGP版本匹配,AGP 7.0.x对应的Hilt版本最低为2.38.1,根目录build.gradle配置参考:
buildscript { ext { agp_version = "7.0.4" hilt_version = "2.38.1" navigation_version = "2.4.1" constraintlayout_version = "2.1.4" } repositories { google() mavenCentral() } dependencies { classpath "com.android.tools.build:gradle:$agp_version" classpath "com.google.dagger:hilt-android-gradle-plugin:$hilt_version" } }
2. app模块build.gradle配置
首先在plugins块添加必要插件:
plugins { id 'com.android.application' id 'kotlin-android' id 'kotlin-kapt' id 'dagger.hilt.android.plugin' }
然后在dependencies块按顺序添加以下依赖,必须显式声明ConstraintLayout:
// 显式声明ConstraintLayout,避免被传递依赖覆盖 implementation "androidx.constraintlayout:constraintlayout:$constraintlayout_version" // Navigation核心依赖 implementation "androidx.navigation:navigation-fragment-ktx:$navigation_version" implementation "androidx.navigation:navigation-ui-ktx:$navigation_version" // Hilt核心依赖 implementation "com.google.dagger:hilt-android:$hilt_version" kapt "com.google.dagger:hilt-android-compiler:$hilt_version" // Hilt导航扩展依赖 implementation "androidx.hilt:hilt-navigation-fragment:1.0.0"
如果仍有依赖冲突,在app模块build.gradle的android块外层添加强制版本规则:
configurations.all { resolutionStrategy.force "androidx.constraintlayout:constraintlayout:$constraintlayout_version" }
3. 缓存清理操作
配置完成后按顺序执行以下操作消除缓存影响:
- 执行Build -> Clean Project
- 执行Build -> Rebuild Project
- 若报错仍存在,执行File -> Invalidate Caches,勾选清除文件系统缓存和本地历史,重启Android Studio即可。
内容的提问来源于stack exchange,提问作者Ugochukwu
相关产品推荐
相关产品推荐

