使用Flutter引入pub的时候经常遇到gradle版本下载失败的问题,这里原因是因为国外资源被墙的原因,因此我们需要更换成国内资源即可(以上gradle:xx.xx.xx代表任意版本)。
首先附上异常图示例:
分解异常问题:
(上图)异常发生位置:flutter_absolute_path,这里我在pubspec.yaml添加了flutter_absolute_path第三方库,然后这个第三方库的gradle的版本是3.4.1,在flutter pub get同步的时候并没有找到这个对应版本的gradle。
(上图)异常原因:根据异常发生位置,找到了异常所在原因,系统发现没有对应的gradle版本,于是从https://dl.google.com去下载对应的gradle版本,因为国外资源被墙的原因,请求链接超时failed: Connection timed out: connect,所以导致这个版本的gradle没有下载到我们的项目当中。
解决方案:
修改为国内资源库
步骤一:找到Flutter SDK文件安装目录,根据目录找到 flutter.pub-cache\hosted\pub.flutter-io.cn下面找到你对应的pub第三方库(我这里示例是flutter_absolute_path),打开依赖库找到依赖库中的android目录(flutter_absolute_path-1.0.6\android)中的 build.gradle文件
步骤二:将资源库修改为国内的资源地址,方法如下,这里引用了国内阿里的资源库,之后再flutter run项目问题就可以得到解决。
maven { url 'http://maven.aliyun.com/nexus/content/repositories/google' } maven { url 'http://maven.aliyun.com/nexus/content/repositories/jcenter' }
end--------------------------------------------------
本人菜鸟一枚,不足之处,还望指点