背景:
在编译flutter时,gradle卡住,直至后面超时报错
解决途径:
1. 借助搜索引擎,多搜索
2. 仔细查看错误日志
过程:
经过搜索,是国内服务器联通不了google等服务,导致相关链接超时,从而包下载失败。(这是第一点的重要性,如果没有很丰富的开发经验,可能会花很多时间走弯路,最终发现是我们不能访问外面的服务的问题)。那么解决方法也很简单,将访问国外的服务改为访问国内的服务,例如阿里云的服务。如果要访问国内的服务,修改2个地方。第一个地方是flutter sdk中的配置,一个是项目中的配置。
首先,打开你的flutter sdk所在位置,按照以下路径找到flutter.gradle文件;
flutter\packages\flutter_tools\gradle\flutter.gradle
打开文件路径后,修改构建脚本仓库中的内容,修改成如下
buildscript {
repositories {
/*修改开始*/
maven { url 'https://maven.aliyun.com/repository/google' }
maven { url 'https://maven.aliyun.com/repository/jcenter' }
maven { url 'http://maven.aliyun.com/nexus/content/groups/public' }
/*修改结束*/
}
dependencies {
classpath 'com.android.tools.build:gradle:3.5.0'
}
}
其次,修改您项目中的配置,打开您项目中文件
\您的项目名\android\build.gradle
需要修改2个地方,一个是 buildscript 中的 repositories
节点,一个是allprojects中的repositories
节点
buildscript {
ext.kotlin_version = '1.3.50'
repositories {
/*修改开始*/
//google()
//jcenter()
maven { url 'https://maven.aliyun.com/repository/google' }
maven { url 'https://maven.aliyun.com/repository/jcenter' }
maven { url 'http://maven.aliyun.com/nexus/content/groups/public' }
/*修改结束*/
}
dependencies {
classpath 'com.android.tools.build:gradle:3.5.0'
classpath "org.jetbrains.kotlin:kotlin-gradle-plugin:$kotlin_version"
}
}
allprojects {
repositories {
/*修改开始*/
//google()
//jcenter()
maven { url 'https://maven.aliyun.com/repository/google' }
maven { url 'https://maven.aliyun.com/repository/jcenter' }
maven { url 'http://maven.aliyun.com/nexus/content/groups/public' }
/*修改结束*/
}
}
这2处配置完了之后,一般就没有问题了。
如果有问题,记得清理下flutter的缓存

如果您编译之后,还有问题,注意看错误日志,按照日志的提示解决就好了,上面的问题解决了,下面的都是小问题。记得按照步骤来解决:
1. 借助搜索引擎,多搜索
2. 仔细查看错误日志