AndroidStudio运行Flutter时卡在Running ‘gradle assembleDebug...‘问题解决[2023-12-13更新]
1.前言
最近由于项目需要,开始学习Flutter框架和Dart语言,具体的配置步骤强烈推荐这篇博客,写得非常好:【window10】Dart+Android Studio+Flutter安装及运行
按照这篇博客设置完Flutter和Dart的环境后,我开启AndroidStudio的虚拟移动设备,尝试运行官方给的Dart示例代码
结果就见运行输出那边一直卡在Running Gradle task 'assembleDebug'...:
然后查询资料发现,运行Flutter貌似需要外网环境,没有外网的话会卡在这非常久......
还有一些人给出了一些解决方案,有的有用,有的没用,最后我把他们的方法都中和了一下成功了 ,下面介绍一下我的解决方法,先声明很多地方我也不知道为什么这么设置,我不是学计算机的,会的不多,步骤仅供参考。
2.设置步骤
大部分步骤参考这篇博客,我在他的基础上又遇到了很多报错,逐一解决后就成功了:Flutter卡在Running ‘gradle assembleDebug‘最完整解决
2.1 设置准备
- 准备一个可以完成编译和运行的Android项目(简称项目A)
- 打开你的Flutter项目(简称项目B)
- Flutter的安装目录
2.2 步骤1-查看项目A的gradle-wrapper.properties
打开A项目的Gradle Scripts/gradle-wrapper.properties,记住里面的gradle版本号:
2.3 步骤2-修改项目B的gradle-wrapper.properties
打开项目B,打开项目目录下的\android\gradle\wrapper\gradle-wrapper.properties:
如上图将distributionUrl这一项替换为腾讯的镜像源:
distributionUrl=https://mirrors.cloud.tencent.com/gradle/gradle-8.0-bin.zip
注意将'gradle-8.0-bin.zip'替换为你刚才在项目A记录的gradle版本号
接着打开项目目录下的\android\build.gradle:
如上图在buildscript{...}和allprojects{...}中添加如下代码:
注意我添加的maven代码与参考文章中的不一样!
maven { url 'https://maven.aliyun.com/repository/google' } maven { url 'https://maven.aliyun.com/repository/jcenter' } maven { allowInsecureProtocol = true url 'https://maven.aliyun.com/nexus/content/groups/public' }
注意要将该段代码添加在google()和mavenCentral()之前:
2.4 步骤3-gradlew指令执行
在AndroidStudio打开项目B,新建终端,依次输入:
cd android ./gradlew clean ./gradlew build
注意上面的命令如果提示 .不是有效命令 ,去除./即可
这里比较难搞的地方来了,如果正常的就会显示:
但是我这边并没有成功,而是显示BULID FAILED,接下来我把我遇到的错误写出来,供大家参考。
3.错误解决
3.1 错误1-BUG! exception in phase 'semantic analysis'
经查询这是JDK版本过高导致Gradle不兼容的问题,这里提供官方提供的jdk版本与gradle的兼容版本:java与gradle兼容版本
你需要将之前已安装的jdk版本卸载,然后重新安装jdk,这里提供两篇博客,按照他的步骤卸载java就行:
jdk的卸载和重新安装 、完整的卸载Jdk java环境教程
至于jdk的安装 ,请自行百度。
这时候执行刚才的三行指令,就会提示成功了:
接着运行尝试运行项目,就会发现比原来快多了,大概不到一分钟吧,就能启动成功了: