迁移至AndroidX后RecyclerView依赖无法解析问题求助
解决AndroidX RecyclerView依赖解析失败问题
看起来你遇到的是Gradle无法解析特定版本RecyclerView依赖的问题,结合你提供的信息,我给你几个针对性的解决方案:
1. 确认Project级别的仓库配置
首先检查你的根目录build.gradle文件,确保已经添加了Google的Maven仓库——因为AndroidX的预览版依赖通常只发布在这个仓库里,而不是jcenter或mavenCentral。你的根build.gradle应该包含类似这样的配置:
buildscript { repositories { google() jcenter() } // ... 其他配置 } allprojects { repositories { google() jcenter() } }
如果之前只有jcenter,加上google()仓库后重新同步试试。
2. 更换为稳定版RecyclerView依赖
你使用的1.1.0-alpha05是非常早期的预览版本,可能已经被Google从公开仓库移除了。建议换成当前的稳定版依赖,比如:
implementation 'androidx.recyclerview:recyclerview:1.3.2' implementation 'androidx.recyclerview:recyclerview-selection:1.1.0'
注意:recyclerview-selection的稳定版最高是1.1.0,和最新的RecyclerView稳定版兼容。
3. 检查Gradle插件版本兼容性
你的compileSdkVersion是28,对应的Gradle插件版本至少需要3.2.0(推荐用3.5.4或更高的兼容版本)。可以在根build.gradle里修改:
buildscript { dependencies { classpath 'com.android.tools.build:gradle:3.5.4' // ... 其他依赖 } }
同时确保你的Gradle wrapper版本和插件版本匹配,比如3.5.4对应的Gradle wrapper是5.4.1。
4. 彻底清理缓存并重新同步
有时候缓存会导致奇怪的依赖问题,试试以下步骤:
- 点击Android Studio菜单栏的
File->Invalidate Caches / Restart,选择Invalidate and Restart - 等待AS重启后,删除项目根目录下的
.gradle文件夹(如果看不到可以开启显示隐藏文件) - 再次点击
Sync Project with Gradle Files
附:你提供的错误信息和配置
错误日志
ERROR: Unable to resolve dependency for ':app@debug/compileClasspath': Could not resolve androidx.recyclerview:recyclerview:1.1.0-alpha05. Show Details Affected Modules: app ERROR: Unable to resolve dependency for ':app@debug/compileClasspath': Could not resolve androidx.recyclerview:recyclerview-selection:1.1.0-alpha05. Show Details Affected Modules: app ERROR: Unable to resolve dependency for ':app@debugAndroidTest/compileClasspath': Could not resolve androidx.recyclerview:recyclerview:1.1.0-alpha05. Show Details Affected Modules: app ERROR: Unable to resolve dependency for ':app@debugAndroidTest/compileClasspath': Could not resolve androidx.recyclerview:recyclerview-selection:1.1.0-alpha05. Show Details Affected Modules: app ERROR: Unable to resolve dependency for ':app@debugUnitTest/compileClasspath': Could not resolve androidx.recyclerview:recyclerview:1.1.0-alpha05. Show Details Affected Modules: app ERROR: Unable to resolve dependency for ':app@debugUnitTest/compileClasspath': Could not resolve androidx.recyclerview:recyclerview-selection:1.1.0-alpha05. Show Details Affected Modules: app
App模块build.gradle
apply plugin: 'com.android.application' android { compileSdkVersion 28 defaultConfig { applicationId "com.example.shababuna" minSdkVersion 15 targetSdkVersion 28 versionCode 1 versionName "1.0" testInstrumentationRunner "androidx.test.runner.AndroidJUnitRunner" } buildTypes { release { minifyEnabled false proguardFiles getDefaultProguardFile('proguard-android-optimize.txt'), 'proguard-rules.pro' } } } dependencies { implementation fileTree(dir: 'libs', include: ['*.jar']) implementation 'androidx.appcompat:appcompat:1.1.0-alpha05' testImplementation 'junit:junit:4.12' androidTestImplementation 'androidx.test:runner:1.2.0-beta01' androidTestImplementation 'androidx.test.espresso:espresso-core:3.2.0-beta01' implementation 'androidx.legacy:legacy-support-v4:1.0.0' implementation 'androidx.constraintlayout:constraintlayout:1.1.3' implementation 'androidx.cardview:cardview:1.0.0' implementation 'com.squareup.retrofit2:retrofit:2.4.0' implementation 'com.squareup.retrofit2:converter-gson:2.4.0' implementation 'de.hdodenhof:circleimageview:3.0.0' implementation 'com.airbnb.android:lottie:3.0.0' implementation 'com.squareup.okhttp3:okhttp:3.12.0' implementation 'com.squareup.picasso:picasso:2.71828' implementation 'com.makeramen:roundedimageview:2.3.0' implementation 'androidx.recyclerview:recyclerview:1.1.0-alpha05' implementation 'androidx.recyclerview:recyclerview-selection:1.1.0-alpha05' }
内容的提问来源于stack exchange,提问作者hman_codes




