Не удалось найти lint-gradle-api-26.1.2.jar для проекта Flutter

Я новичок во Flutter и пытаюсь запустить пример проекта, когда вы создаете новый. Когда я пытаюсь его запустить, у меня возникает такая проблема:

FAILURE: сборка не удалась, исключение.

  • Где: файл сборки 'PROJECTPATH ​​/android/app/build.gradle' строка: 25

  • Что пошло не так: возникла проблема при оценке проекта ": приложение".

    Не удалось разрешить все файлы для конфигурации "classpath". Не удалось найти lint-gradle-api.jar (com.android.tools.lint: lint-gradle-api: 26.1.2). Поиск производился в следующих местах: https://jcenter.bintray.com/com/android/tools/lint/lint-gradle-api/26.1.2/lint-gradle-api-26.1.2.jar

Я понимаю, что он пытается получить файл "lint-gradle-api-26.1.2.jar" из репозитория jcenter, но при переходе по ссылке я получаю следующее:

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

Поэтому я добавил репозиторий Google в свой build.gradle файл:

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

... и мне также удалось получить файл по этой ссылке:

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, 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()
}

....

16 ответов

Решение

Я решил проблему, переместив:

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'
    }
}

Изменять 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'
  }
}

Скриншот моего кода

Что касается этой ошибки, я просто изменил эту строку в build.gradle файл:

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

чтобы:

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

И это решило мою проблему.

Это просто ошибка в файле Gradle, расположенном по адресу C:\flutter\packages\flutter_tools\gradle\flutter.gradle в строке 25.

Все, что вам нужно сделать, это просто отредактировать этот файл, переместив его в верхнюю часть:

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'
    }
}

Это связано с Flutter 0.9.4 на данный момент. Это будет исправлено в следующем выпуске. Тем временем вы можете обновить Flutter вручную, выполнив команды, описанные в разделе "Обновление Flutter". В основном они включают в себя следующее:

  1. Измените канал Flutter GitHub на master, запустив в командной строке:

    flutter channel master
    
  2. Обновите сам Flutter, запустив

    flutter upgrade
    

После завершения обновления запустите приложение тест-диска, и оно должно успешно скомпилироваться.

Решение:

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

в файле: .flutter/packages/flutter_tools/gradle/flutter.gradle: файл находится в Flutter SDK.

Это исправило мою проблему, так что ссылка здесь:

В вашем корне build.gradle убедитесь, что google() находится перед jcenter().

repositories {
    google()
    jcenter()
}

В большинстве проектов вам придется обновить это в 2 местах.

buildscript {
    repositories {
        google()
        jcenter()
    }

}

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

Flutter Master Upgrade

У меня просто была эта проблема. Исправление для меня, однако, было намного проще. После переключения веток на dev и обновляясь, я снова переключился на master и это работало отлично.

flutter checkout dev
flutter upgrade

Затем переключиться обратно

flutter checkout master
flutter upgrade
flutter run

Все предыдущие ответы решают проблему. Один комментарий для добавления - это местоположение flutte.gradle.

Вы найдете его в каталоге, в котором вы впервые установили Flutter, а не в проекте Flutter.

Просто попробуйте обновить Flutter, используя следующее:

flutter upgrade 

(Эта проблема была исправлена ​​в последнем обновлении.)

Когда я столкнулся с этой ошибкой, Flutter 1.0 был выпущен. Предыдущие проблемы были исправлены, и я все еще получал ту же ошибку.

Следующие шаги исправили это для меня:

1) Изменение версии плагина Gradle с 3.1.2 до 3.2.1 в your_project/android/build.gradle внутри раздела "зависимости" -

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

2) Изменение версии оболочки Gradle с 4.4 на 4.6 в your_project/android/gradle/wrapper/gradle-wrapper.properties вот так

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

Для меня, открыв файл gradle-wrapper.properties и отредактировав строку ниже, как эта версия, решил это:

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

Я исправил, просто заменив эти предложения:

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

        }
    }
}

вместо них:

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

в файле build.gradle, а затем заменить compile с implementation в зависимости

Я также новичок во флаттере и только что установил его сегодня. И я нашел ту же проблему, что и вы, но после трех часов поисков в Интернете я наконец решил ее.

Шаги, которые я сделал, следующие:

  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. и наконец приложение появилось на экране эмулятора.

    Картинка наконец работает

Чтобы решить эту проблему, просто переместите jcenter()к вершине google()

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

android {
    compileOptions {
        sourceCompatibility 1.8
        targetCompatibility 1.8
    }
}

и Измените версию сервисов Google в вашем project_name/android/build.gradleкаталог

      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"
}

Я исправил это с помощью версии обновления build.gradle

dependencies {
        classpath 'com.android.tools.build:gradle:3.3.2'
        ..............
}
Другие вопросы по тегам