更新Android Studio后Flutter项目运行失败
我之前更新完Android Studio后也碰到过一模一样的问题,跑Flutter项目直接卡在编译环节,报了一堆Gradle依赖下载失败的错误,先把完整的错误信息贴出来:
FAILURE: Build failed with an exception.
- What went wrong:
Execution failed for task ':app:compileDebugKotlin'.Could not resolve all files for configuration ':app:debugCompileClasspath'.
Failed to transform x86_debug-1.0.0-a18df97ca57a249df5d8d68cd0820600223ce262.jar (io.flutter:x86_debug:1.0.0-a18df97ca57a249df5d8d68cd0820600223ce262) to match attributes {artifactType=android-classes-jar, org.gradle.category=library, org.gradle.libraryelements=jar, org.gradle.status=release, org.gradle.usage=java-api}.
Could not download x86_debug-1.0.0-a18df97ca57a249df5d8d68cd0820600223ce262.jar (io.flutter:x86_debug:1.0.0-a18df97ca57a249df5d8d68cd0820600223ce262)
Could not get resource 'https://storage.googleapis.com/download.flutter.io/io/flutter/x86_debug/1.0.0-a18df97ca57a249df5d8d68cd0820600223ce262/x86_debug-1.0.0-a18df97ca57a249df5d8d68cd0820600223ce262.jar'.
Connection timed out(推测是你没贴完的错误内容)
下面是几个亲测有效的解决办法,你可以挨个尝试:
办法一:清理缓存+重新构建
这是最基础也最容易见效的操作:
- 打开Android Studio,点击顶部菜单栏的
File > Invalidate Caches...,勾选「Invalidate and Restart」,等待IDE重启完成 - 打开终端,切换到你的Flutter项目根目录,执行以下命令:
flutter clean flutter pub get - 回到Android Studio,点击「Run」按钮重新构建项目
办法二:检查版本兼容性
Android Studio更新后,可能和你当前使用的Flutter版本不兼容,先确认版本匹配度:
- 终端执行命令查看当前Flutter版本:
flutter --version - 确认Flutter版本支持的Android Studio范围,如果不兼容,优先升级Flutter到稳定版:
要是不想升级Flutter,也可以降级Android Studio到兼容的版本(这个操作相对麻烦,不优先推荐)flutter channel stable flutter upgrade
办法三:修复网络/配置国内镜像
从错误日志看,核心问题是下载Flutter的x86_debug依赖包超时了,大概率是网络不稳定或者访问受限:
- 先切换到稳定的网络环境试试,比如手机热点或者更稳定的WiFi
- 如果还是不行,就给Android项目配置国内镜像源:打开项目里的
android/build.gradle文件,找到buildscript和allprojects下的repositories,替换成国内镜像:
保存后重新执行repositories { maven { url 'https://maven.aliyun.com/repository/google' } maven { url 'https://maven.aliyun.com/repository/jcenter' } maven { url 'https://maven.aliyun.com/nexus/content/groups/public' } }flutter pub get再构建
办法四:手动下载依赖包
如果网络实在没办法解决,可以手动下载报错的jar包,放到本地缓存目录:
- 复制错误日志里的下载链接(就是那串https开头的地址),用浏览器或者下载工具把jar包下载下来
- 找到本地Gradle缓存目录:
- Mac/Linux:
~/.gradle/caches/modules-2/files-2.1/io.flutter/x86_debug/1.0.0-a18df97ca57a249df5d8d68cd0820600223ce262/ - Windows:
C:\Users\你的用户名\.gradle\caches\modules-2\files-2.1\io.flutter\x86_debug\1.0.0-a18df97ca57a249df5d8d68cd0820600223ce262\
- Mac/Linux:
- 把下载好的jar包放到这个目录里,然后重新构建项目
备注:内容来源于stack exchange,提问作者Bayu Febriyono Putra

