向Gradle添加RecyclerView库时出现依赖版本冲突报错
解决Gradle中RecyclerView依赖导致的support-annotations版本冲突问题
这个坑我之前实打实踩过!你遇到的是主工程和测试工程的support库版本不一致引发的冲突——你的app模块用的是26.1.0版本的support-annotations,但测试模块(androidTest)自动引入了27.1.1版本,两者版本不匹配就触发了这个报错。
给你几个直接可行的解决办法:
强制统一所有模块的依赖版本
在app模块的build.gradle里添加配置,让所有依赖都强制使用你指定的26.1.0版本的support-annotations:android { configurations.all { resolutionStrategy.force 'com.android.support:support-annotations:26.1.0' } }升级主工程依赖版本到测试模块的版本
把你添加的RecyclerView依赖改成和测试模块一致的27.1.1版本,另外注意现在Android Studio更推荐用implementation代替旧的compile:implementation 'com.android.support:recyclerview-v7:27.1.1'单独指定测试模块的依赖版本
在build.gradle的androidTest依赖块里明确指定support-annotations的版本,和主工程保持一致:androidTestImplementation 'com.android.support:support-annotations:26.1.0'
另外提个长远建议:如果你的项目还没迁移到AndroidX,其实可以考虑迁移过去——AndroidX彻底替换了旧的support库体系,能从根源减少很多这类版本冲突的麻烦。迁移后RecyclerView的依赖会变成:
implementation 'androidx.recyclerview:recyclerview:1.2.1'
(版本号可以根据实际需求选最新稳定版)
内容的提问来源于stack exchange,提问作者Cristobal Maestre Vaz
相关产品推荐
相关产品推荐

