Flutter入门之Could not find lint-gradle-api.jar

这两天在学习Flutter,学习过程中尝试着写了个Demo,然后在Android平台运行想看下效果,结果直接gradle都没过,错误提示如下:

1
2
3
Where: 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
6
allprojects {
repositories {
google()
jcenter()
}
}

然后我又给了加了个mavenCentral(),结果运行依旧是这个错误,而且我的网络是没有任何问题的。

前面的方式无法解决后,就在flutter的github里的issue中看了半天,然后发了一种说法:

在你的flutter安装目录下找到文件:flutter/packages/flutter_tools/gradle/flutter.gradle

打开该文件将文件中如下脚本内容:

1
2
3
4
5
6
repositories {
jcenter()
maven {
url 'https://dl.google.com/dl/android/maven2'
}
}

修改成:

1
2
3
4
5
6
repositories {
maven {
url 'https://dl.google.com/dl/android/maven2'
}
jcenter()
}

也就是将maven和jcenter调换一个顺序。

我使用这种方式解决了编译错误的问题,当然还有个前提条件是你的网络可以成功访问google。我没有试过国内网络的环境,不过按照这种方式国内网络环境可以将仓库地址改为国内镜像地址,至于具体镜像地址,大家可以在网上找。

我代码中使用的flutter版本为:sdk: ">=2.0.0-dev.68.0 <3.0.0"


原创文章,转载请出处注明。

下面是我的个人公众号,欢迎关注交流

Your browser is out-of-date!

Update your browser to view this website correctly. Update my browser now

×