无法找到 Flutter 项目的 lint-gradle-api-26.1.2.jar

Couldn't locate lint-gradle-api-26.1.2.jar for Flutter project

我是 Flutter 的新手,正在尝试 运行 创建新项目时的示例项目。当尝试 运行 它时,我遇到了这个问题:

失败:构建失败,出现异常。

我知道它正在尝试从 jcenter 存储库中获取文件 "lint-gradle-api-26.1.2.jar" 但是当遵循 link 我得到这个:

{
  "errors" : [ {
    "status" : 404,
    "message" : "Could not find resource"
  } ]
}

所以我在 build.gradle 文件中添加了 Google 存储库:

buildscript {
    repositories {
        maven { url 'https://dl.google.com/' }
        google()
        jcenter()
    }

...我也通过以下 link:

成功获取了文件

https://dl.google.com/dl/android/maven2/com/android/tools/lint/lint-gradle-api/26.1.2/lint-gradle-api-26.1.2.jar

...但是在尝试 运行 我的项目时,无论是使用 Visual Studio Code、Android Studio 还是使用 CLI,我仍然遇到相同的错误。

如何强制 Gradle 从我找到的 link 下载文件?

这是我的 build.gradle 文件的样子:

buildscript {
    repositories {
        //maven { url 'https://dl.google.com/dl/android/maven2/com/android/tools/lint/lint-gradle-api/26.1.2/lint-gradle-api-26.1.2.jar' }
        repositories {
            google()
            maven { url 'https://maven.fabric.io/public' }
            mavenCentral()
            jcenter()
        }
    }

    dependencies {
        classpath 'com.android.tools.build:gradle:3.1.2'
    }
}

allprojects {
    repositories {
        google()
        maven { url 'https://maven.fabric.io/public' }
        mavenCentral()
        jcenter()
    }
}

repositories {
    google()
    maven { url 'https://maven.fabric.io/public' }
    mavenCentral()
    jcenter()
}

....

修改./flutter/packages/flutter_tools/gradle下的flutter.gradle,将工具版本升级到3.2.1,并在第一行添加google()

buildscript {
  repositories {
    google()
    jcenter()
    maven {
      url 'https://dl.google.com/dl/android/maven'
    }
  }
  dependencies {
    classpath 'com.android.tools.build:gradle:3.2.1'
  }
}

Screenshot of my code

我搬家解决了问题:

maven {
    url 'https://dl.google.com/dl/android/maven2'
}

在顶部:

jcenter()

在文件中:.flutter/packages/flutter_tools/gradle/flutter.gradle:

    buildscript {
    repositories {
        maven {
            url 'https://dl.google.com/dl/android/maven2'
        }
        jcenter()
    }
    dependencies {
        classpath 'com.android.tools.build:gradle:3.1.2'
    }
}

这只是位于 C:\flutter\packages\flutter_tools\gradle\flutter.gradle 第 25 行的 Gradle 文件中的一个错误。

您只需将此文件移动到顶部即可进行编辑:

maven {
    url 'https://dl.google.com/dl/android/maven2'
}

由此改变

buildscript {
    repositories {

        jcenter()
        maven {
            url 'https://dl.google.com/dl/android/maven2'
        }
    }
    dependencies {
        classpath 'com.android.tools.build:gradle:3.1.2'
    }
}

对此:

buildscript {
    repositories {
        maven {
            url 'https://dl.google.com/dl/android/maven2'
        }
        jcenter()
    }
    dependencies {`enter code here`
        classpath 'com.android.tools.build:gradle:3.1.2'
    }
}

前面的回答都解决了这个问题。要添加的一条评论是 flutte.gradle.

的位置

你会在你第一次安装Flutter的目录下找到它,而不是在Flutter项目上。

目前与 Flutter 0.9.4 有关。它将在下一个版本中修复。同时,您可以通过 运行ning "Flutter Upgrade" 中描述的命令手动更新 Flutter。基本上它们涉及以下内容:

  1. 通过 运行ning 在命令提示符下将 Flutter GitHub 通道更改为 master:

    flutter channel master
    
  2. 通过 运行ning

    升级 Flutter 本身
    flutter upgrade
    

升级完成后,运行 试驾应用程序,应该会成功编译。

我也是flutter新手,今天刚装上。而且我发现了和你一样的问题,但是在谷歌搜索了三个小时后我终于解决了。

我做的步骤如下:

  1. 将 "flutter.gradle" 文件从“https://github.com/flutter/flutter/blob/master/packages/flutter_tools/gradle/flutter.gradle”复制到 "C:\flutter\packages\gradle"

  2. 然后修改内容,对于这部分:

    buildscript {
        repositories {
            google()
            jcenter()
        }
        dependencies {
            classpath 'com.android.tools.build:gradle:3.2.1'
        }
    }
    

    至:

    buildscript {
        repositories {
            maven {
                    url 'https://dl.google.com/dl/android/maven2'
            }
            jcenter()
        }
        dependencies {
            classpath 'com.android.tools.build:gradle:3.2.1'
        }
    }
    
  3. 在"c:\flutter\bin"、运行这条命令中:

    flutter channel master
    

    等到完成,然后运行这个命令:

    flutter upgrade
    
  4. 等待完成,然后重新运行工程调试,

  5. 最终应用程序出现在模拟器屏幕上。

    Picture finally running

Flutter 大师升级

我刚遇到这个问题。然而,对我来说,修复要简单得多。将分支切换到 dev 并升级后,我切换回 master 并且工作正常。

flutter checkout dev
flutter upgrade

然后切换回去

flutter checkout master
flutter upgrade
flutter run

解决方案:

Put
maven {
    url 'https://dl.google.com/dl/android/maven2'
}
at the top of:
jcenter()

在文件中:.flutter/packages/flutter_tools/gradle/flutter.gradle: 该文件在 Flutter SDK 中。

只需尝试使用以下方法升级 Flutter:

flutter upgrade 

(此问题已在最新更新中修复。)

关于这个错误,我只是在 build.gradle 文件中更改了这一行:

classpath 'com.android.tools.build:gradle:3.1.2'

至:

classpath 'com.android.tools.build:gradle:3.1.3'

这解决了我的问题。

对我来说,打开 gradle-wrapper.properties 文件并像这个版本一样编辑以下行解决了问题:

distributionUrl=https\://services.gradle.org/distributions/gradle-4.10.2-all.zip

这解决了我的问题,所以参考 here:

在你的根 build.gradle 中确保 google() 在 jcenter() 之前。

repositories {
    google()
    jcenter()
}

在大多数项目中,您必须在 2 个位置更新它。

buildscript {
    repositories {
        google()
        jcenter()
    }

}

allprojects {
    repositories {
        google()
        jcenter()
    }
}

遇到这个错误的时候Flutter 1.0已经发布了。之前的问题已修复,但我仍然遇到同样的错误。

以下步骤为我修复了它:

1) 在 'dependencies' 部分 -

内的 your_project/android/build.gradle 中将 Gradle 插件版本从 3.1.2 更改为 3.2.1
dependencies {
        classpath 'com.android.tools.build:gradle:3.2.1'
    }

2) 在 your_project/android/gradle/wrapper/gradle-wrapper.properties 中将 Gradle 包装器版本从 4.4 更改为 4.6,就像这样

distributionUrl=https\://services.gradle.org/distributions/gradle-4.6-all.zip

我已经用更新版本修复了它build.gradle

dependencies {
        classpath 'com.android.tools.build:gradle:3.3.2'
        ..............
}

我只是通过替换这些句子来修复:

allprojects {
    repositories {
        mavenCentral()
        jcenter()
        maven {
            url 'https://maven.google.com/'
            name 'Google'

        }
    }
}

而不是这些:

allprojects {
    repositories {
        jcenter()
        google()
    }
}

在build.gradle文件中,然后在dependencies

中用implementation替换compile

为了解决这个问题只需将 jcenter() 移动到 google()

的顶部
buildscript {
    repositories {
    jcenter()
        google()
    }
    dependencies {
        classpath 'com.android.tools.build:gradle:3.2.1'
    }
}

android {
    compileOptions {
        sourceCompatibility 1.8
        targetCompatibility 1.8
    }
}

并更改 project_name/android/build.gradle 目录中的 google 服务版本

dependencies {
    classpath 'com.android.tools.build:gradle:3.2.1'
    classpath "org.jetbrains.kotlin:kotlin-gradle-plugin:$kotlin_version"
    classpath "com.google.gms:google-services:4.2.0"
}