升级Android Studio后无法解析com.android.support:appcompat-v7:27.0.3求助
解决「Failed to resolve: com.android.support:appcompat-v7:27.0.3」问题
嘿,这个问题我帮好几个开发者解决过,尤其是升级Android Studio之后容易碰到,别慌,给你几个一步步的靠谱方案:
方案1:先检查根目录的build.gradle配置
首先得确认项目根目录下的build.gradle(不是你贴的那个module级别的)里,有没有配置Google的maven仓库——毕竟27.0.3这个support库得从这里拉。打开这个文件,改成下面这样:
buildscript { repositories { google() // 这个是核心,必须要有! jcenter() // 虽然jcenter停更了,但暂时不影响旧库获取 } dependencies { classpath 'com.android.tools.build:gradle:对应你当前AS版本的插件号' // 比如你用的是AS Hedgehog,插件版本大概是8.2.x,记得对应上 } } allprojects { repositories { google() // 这里也一定要加,不然module里找不到仓库 jcenter() } }
方案2:直接迁移到AndroidX(推荐长期使用)
毕竟support库早就被AndroidX取代了,27.x都是好几年前的版本,后续不会再有维护和更新,不如直接一步到位迁到AndroidX,一劳永逸:
- 打开你贴的那个module级别的
build.gradle,把原来的com.android.support:appcompat-v7:27.0.3替换成AndroidX的依赖,同时补充一些必要配置:
apply plugin: 'com.android.application' android { compileSdkVersion 27 buildToolsVersion '27.0.3' defaultConfig { applicationId "com.example.com" minSdkVersion 14 targetSdkVersion 27 // 如果项目比较大,可能需要开启multiDex multiDexEnabled true } // 加上Java8支持,AndroidX很多特性需要这个 compileOptions { sourceCompatibility JavaVersion.VERSION_1_8 targetCompatibility JavaVersion.VERSION_1_8 } buildTypes { release { minifyEnabled false proguardFiles getDefaultProguardFile('proguard-android.txt'), 'proguard-rules.pro' } } } dependencies { // 替换原来的support库 implementation 'androidx.appcompat:appcompat:1.6.1' // 如果你项目里还用了其他support库(比如recyclerview、design这些),也换成对应的AndroidX库 // 比如implementation 'androidx.recyclerview:recyclerview:1.3.2' }
- 然后打开项目根目录的
gradle.properties文件,添加两行配置,让AS自动帮你把第三方依赖里的旧support库转换成AndroidX:
android.useAndroidX=true android.enableJetifier=true
方案3:清理缓存重建项目
不管用上面哪个方案,最后都要做这几步,确保缓存不会搞事情:
- 点击AS顶部菜单栏的
File -> Invalidate Caches...,然后选择Invalidate and Restart,等AS重启 - 重启后点击
Build -> Clean Project,清掉旧的编译文件 - 再点击
Build -> Rebuild Project,重新编译整个项目
额外要检查的点
- 如果你用了代理,要确认AS的代理配置是对的,能正常访问Google的仓库
- 别不小心把module的
build.gradle里的仓库配置删了,确保依赖能找到地方拉取
内容的提问来源于stack exchange,提问作者Simo Chafaoui
相关产品推荐
相关产品推荐

