Android Studio Arctic Fox报不存在的AndroidX依赖错误如何解决
根因定位
这个报错的核心原因是Android Studio Arctic Fox(2020.3.1)的构建逻辑新增了对类路径AndroidX依赖的强制校验,和业务代码是否引入androidx.*无关:
- 你使用的AGP v4.2.2配套的DataBinding编译器
androidx.databinding:databinding-compiler:4.2.1本身内置依赖了androidx.annotation:annotation:1.1.0,就算你在gradle.properties中关闭了AndroidX相关开关,这个依赖仍然会存在于注解处理器的类路径中,被Arctic Fox的校验逻辑扫描到触发报错 - Android Studio 4.2没有这套强制校验逻辑,因此同项目配置下可以正常编译
解决方案(均无需迁移AndroidX)
方案1:强制排除DataBinding引入的AndroidX注解依赖(优先推荐)
在app模块的build.gradle中添加配置,直接排除扫描到的冲突依赖:
configurations { annotationProcessor { exclude group: 'androidx.annotation', module: 'annotation' } }
同步Gradle后重新编译即可,不会影响现有功能。
方案2:强制指定支持Support库的DataBinding编译器版本
如果方案1排除后仍有相关报错,在项目根目录的build.gradle中强制指定不依赖AndroidX的DataBinding编译器版本:
allprojects { configurations.all { resolutionStrategy { force 'com.android.databinding:compiler:3.5.4' } } }
3.5.x系列的DataBinding编译器完全基于Support库开发,不会引入任何AndroidX依赖,和AGP v4.2.2版本兼容。
方案3:跳过AndroidX依赖校验(应急快速解决)
直接在gradle.properties中添加如下配置,关闭Arctic Fox的AndroidX强制校验逻辑:
android.skipAndroidXCheck=true
该配置不会修改任何依赖,仅跳过检查步骤,适合应急场景使用。
验证:编译完成后执行gradlew app:dependencies | grep androidx确认无AndroidX依赖残留即可。
内容的提问来源于stack exchange,提问作者Mathias Walter
相关产品推荐
相关产品推荐

