升级Android Studio至3.1后启动Gradle报错Response 304: Not Modified has no content
我之前升级AS版本时也碰到过一模一样的304错误,折腾了好一会儿才搞定,给你几个亲测有效的解决思路:
清理Gradle本地缓存
Gradle的缓存目录很容易因为版本升级出现冲突。找到你的缓存路径:- Mac/Linux:
~/.gradle/caches - Windows:
C:\Users\<你的用户名>\.gradle\caches
删除里面的modules-2文件夹,然后重启Android Studio重新同步项目。这会强制Gradle重新拉取所有依赖,避免旧缓存导致的304问题。
- Mac/Linux:
匹配Gradle插件与AS版本
升级AS后,Gradle插件版本也要对应上。打开项目根目录的build.gradle文件,把构建工具的版本从3.0.1改成3.1.0:buildscript { dependencies { classpath 'com.android.tools.build:gradle:3.1.0' } }同时在
gradle/wrapper/gradle-wrapper.properties里,把distributionUrl换成AS 3.1对应的Gradle版本(一般是4.4):distributionUrl=https\://services.gradle.org/distributions/gradle-4.4-all.zip改完后同步项目,版本匹配了很多奇怪的问题都会消失。
切换稳定的依赖源
如果你的项目用的是默认的国外maven源,网络波动很容易导致缓存异常。可以换成国内的镜像源,比如在根目录build.gradle里修改:buildscript { repositories { maven { url 'https://maven.aliyun.com/repository/public' } google() } } allprojects { repositories { maven { url 'https://maven.aliyun.com/repository/public' } google() } }这样依赖下载更稳定,也能减少缓存相关的报错。
关闭Gradle离线模式
检查AS的设置:File > Settings > Build, Execution, Deployment > Build Tools > Gradle,确保Offline work选项没有被勾选。离线模式下Gradle只会用本地缓存,很容易出现缓存不匹配的304错误。
如果上面的方法都没用,最后试试Invalidate Caches/Restart:点击File > Invalidate Caches...,勾选Clear file system cache and local history,然后重启AS。这个操作会清空AS的所有缓存,基本能解决大部分升级后的疑难杂症。
内容的提问来源于stack exchange,提问作者Ess

