Android Studio升级后创建新项目Gradle构建失败求助
解决Gradle构建失败(compileSdk 26/27版本)的问题
看起来你遇到的核心问题是升级Android Studio和Gradle后,无法使用26及以上版本的compileSdk进行构建,结合你提到的“代理下会下载文件但仍失败”“支持库搜索框看不到最新版本”这些现象,大概率是Google Maven仓库未配置或者代理网络配置不一致导致的,下面是一步步的解决办法:
1. 确保项目根目录build.gradle配置了Google Maven仓库
从Android Studio 3.0开始,官方支持库、Google服务等依赖都迁移到了Google Maven仓库,旧版本的compileSdk(比如25)可能还能从jcenter拉取,但26+的版本必须从Google Maven获取。检查你项目根目录的build.gradle,确保包含google()仓库:
buildscript { repositories { google() // 必须添加,替代旧版的maven { url 'https://maven.google.com' } jcenter() } dependencies { classpath 'com.android.tools.build:gradle:3.0.1' // 保持你的插件版本 } } allprojects { repositories { google() // 这里同样需要配置 jcenter() } }
如果之前没有添加google(),AS根本找不到26/27版本的support库,自然会构建失败,也搜不到最新版本。
2. 统一使用AS 3.0推荐的依赖声明关键字
AS 3.0+推荐用implementation替代compile,testImplementation替代testCompile,虽然旧关键字暂时兼容,但统一使用新关键字能避免一些潜在问题。调整你的模块build.gradle(compileSdk 27版本):
apply plugin: 'com.android.application' android { compileSdkVersion 27 buildToolsVersion "27.0.3" defaultConfig { applicationId "com.nasser.studio.test" minSdkVersion 14 targetSdkVersion 27 versionCode 1 versionName "1.0" } buildTypes { release { minifyEnabled false proguardFiles getDefaultProguardFile('proguard-android.txt'), 'proguard-rules.pro' } } } dependencies { implementation fileTree(dir: 'libs', include: ['*.jar']) testImplementation 'junit:junit:4.12' implementation 'com.android.support:appcompat-v7:27.0.3' }
3. 同步Android Studio和Gradle的代理配置
你提到用代理时会下载文件但仍失败,可能是AS的代理设置和Gradle的代理设置不一致,导致部分请求失败:
- 首先在AS的设置里配置代理:
File > Settings > Appearance & Behavior > System Settings > HTTP Proxy,选择Manual proxy configuration,输入你的代理地址和端口,如果需要账号密码也一并填写,点击Apply后重启AS。 - 然后在项目根目录创建(如果没有的话)
gradle.properties文件,添加对应的代理配置:
# HTTP代理配置 systemProp.http.proxyHost=你的代理地址 systemProp.http.proxyPort=代理端口 # HTTPS代理配置(和HTTP一致即可) systemProp.https.proxyHost=你的代理地址 systemProp.https.proxyPort=代理端口 # 如果代理需要账号密码,添加以下内容 # systemProp.http.proxyUser=你的代理账号 # systemProp.http.proxyPassword=你的代理密码 # systemProp.https.proxyUser=你的代理账号 # systemProp.https.proxyPassword=你的代理密码
4. 清除缓存后重新构建
缓存问题也可能导致这种奇怪的构建失败,尝试以下操作:
- 点击AS工具栏的
File > Invalidate Caches / Restart,选择Invalidate and Restart,让AS彻底清除缓存并重启。 - 手动删除项目根目录的
.gradle文件夹,以及模块目录下的build文件夹。 - 重启后依次执行
Build > Clean Project和Build > Rebuild Project。
完成以上步骤后,再尝试用compileSdk 27构建项目,应该就能正常完成了,同时AS的支持库搜索框也能显示最新的27.x版本了。
内容的提问来源于stack exchange,提问作者Nasser Tahani
相关产品推荐
相关产品推荐

