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

Que*_*lak 102 android dart jcenter flutter

我是Flutter的新手,在创建新项目时尝试运行示例项目.在尝试运行它时,我有这个问题:

FAILURE:构建因异常而失败.

我知道它试图从jcenter存储库中获取文件"lint-gradle-api-26.1.2.jar",但是在关注链接后我得到了这个:

{
  "errors" : [ {
    "status" : 404,
    "message" : "Could not find resource"
  } ]
}
Run Code Online (Sandbox Code Playgroud)

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

buildscript {
    repositories {
        maven { url 'https://dl.google.com/' }
        google()
        jcenter()
    }
Run Code Online (Sandbox Code Playgroud)

...我也通过以下链接成功获取该文件:

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从我找到的链接下载文件?

这是我的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()
}

....
Run Code Online (Sandbox Code Playgroud)

Que*_*lak 132

我通过移动解决了这个问题:

maven {
    url 'https://dl.google.com/dl/android/maven2'
}
Run Code Online (Sandbox Code Playgroud)

在顶部:

jcenter()
Run Code Online (Sandbox Code Playgroud)

在文件中.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'
    }
}
Run Code Online (Sandbox Code Playgroud)

  • 顺便说一下,Windows上的`.flutter`是`C:\ flutter`(或Flutter安装的位置).它与项目无关. (9认同)

man*_*233 44

flutter.gradle在./flutter/packages/flutter_tools/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'
  }
}
Run Code Online (Sandbox Code Playgroud)

我的代码截图

  • 升级distributionUrl = https \://services.gradle.org/distributions/gradle-4.10.2-all.zip (2认同)

小智 21

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

classpath 'com.android.tools.build:gradle:3.1.2'
Run Code Online (Sandbox Code Playgroud)

至:

classpath 'com.android.tools.build:gradle:3.1.3'
Run Code Online (Sandbox Code Playgroud)

这解决了我的问题.


Cha*_*les 16

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

您只需将此文件移至顶部即可编辑此文件:

maven {
    url 'https://dl.google.com/dl/android/maven2'
}
Run Code Online (Sandbox Code Playgroud)

改变这一点

buildscript {
    repositories {

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

对此:

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'
    }
}
Run Code Online (Sandbox Code Playgroud)


use*_*299 7

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

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

    flutter channel master
    
    Run Code Online (Sandbox Code Playgroud)
  2. 通过运行升级Flutter本身

    flutter upgrade
    
    Run Code Online (Sandbox Code Playgroud)

升级完成后,运行测试驱动器应用程序,它应该成功编译.