这两天在学习Flutter
,学习过程中尝试着写了个Demo,然后在Android平台运行想看下效果,结果直接gradle
都没过,错误提示如下:1
2
3Where: Build file 'PROJECTPATH/android/app/build.gradle' line: 25
What went wrong: A problem occurred evaluating project ':app'.
Could not resolve all files for configuration 'classpath'. Could not find lint-gradle-api.jar (com.android.tools.lint:lint-gradle-api:26.1.2). Searched in the following locations: https://jcenter.bintray.com/com/android/tools/lint/lint-gradle-api/26.1.2/lint-gradle-api-26.1.2.jar
看到这个错误第一反应是这个库在仓库里没找到,然后看了下Android工程根目录下的build.gradle
文件,其配置如下:1
2
3
4
5
6allprojects {
repositories {
google()
jcenter()
}
}
然后我又给了加了个mavenCentral()
,结果运行依旧是这个错误,而且我的网络是没有任何问题的。
前面的方式无法解决后,就在flutter
的github里的issue中看了半天,然后发了一种说法:
在你的flutter安装目录下找到文件:flutter/packages/flutter_tools/gradle/flutter.gradle
打开该文件将文件中如下脚本内容:1
2
3
4
5
6repositories {
jcenter()
maven {
url 'https://dl.google.com/dl/android/maven2'
}
}
修改成:1
2
3
4
5
6repositories {
maven {
url 'https://dl.google.com/dl/android/maven2'
}
jcenter()
}
也就是将maven和jcenter调换一个顺序。
我使用这种方式解决了编译错误的问题,当然还有个前提条件是你的网络可以成功访问google。我没有试过国内网络的环境,不过按照这种方式国内网络环境可以将仓库地址改为国内镜像地址,至于具体镜像地址,大家可以在网上找。
我代码中使用的flutter版本为:sdk: ">=2.0.0-dev.68.0 <3.0.0"
原创文章,转载请出处注明。
下面是我的个人公众号,欢迎关注交流