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


107

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

ОШИБКА: сбой при сборке за исключением.

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

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

    Не удалось разрешить все файлы для конфигурации «путь к классам». Не удалось найти 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"
  } ]
}

Итак, я добавил в свой build.gradleфайл репозиторий Google :

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 или интерфейса командной строки.

Как заставить 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()
}

....

Может быть, это поможет: stackoverflow.com/a/52944600/4255978
HedeH

Этого не произошло, ошибка по-прежнему та же
Квентин

3
Для людей, приезжающих сюда сейчас, я думаю, что это было исправлено в мастере, так что flutter channel masterи flutter upgradeнужно это исправить.
absin 05

Ответы:


133

Решил проблему перемещением:

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

1
Спасибо, загружает @Quentin. Ты спас меня после 3 часов пробовать разные вещи. Ошибка Gradle выглядит как проблема с зависимостью от отсутствующего пакета.
Gayan Pathirage

1
Спас меня. Я столкнулся с той же проблемой
Гаурав Шарма

Также сохранены. Большое спасибо
Карлес

10
Кстати, .flutterнаходится C:\flutterв Windows (или в месте установки Flutter). Это не связано с проектом.
Кевин Робатель

не видел, чтобы это работало, но определенно сработало для меня
martinseal1987

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

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


Обновите свой флаттер , Это моя информация об окружающей среде, и я работаю сейчас. [√] Flutter (бета-версия канала, v0.9.4, в Microsoft Windows [версия 10.0.17763.104], язык zh-CN) [√] Набор инструментов Android - разработка для устройств Android (Android SDK 28.0.3) [√] Android Studio ( версия 3.2) [√] Подключенное устройство (доступно 1)
mano233

2
Распространение обновленийUrl = https \: //services.gradle.org/distributions/gradle-4.10.2-all.zip
mano233

21

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

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

кому:

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

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


Как ни странно, но понижение Gradle с 3.1.2 на 3.0.1 (в моем случае) помогло мне.
AloDev

16

Это просто ошибка в файле 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'
    }
}

7

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

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

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

    flutter upgrade

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


На самом деле вам не нужно обновлять репозитории зависимостей проекта, так что это единственный ответ! :-D
cesards 03

4

Решение:

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

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


HII Aegon. Я не нашел SDK флаттера. Где его найти. У меня такая же ошибка?
vijju

Сначала вы должны загрузить SDK, вот документ, объясняющий установку. flutter.io/docs/get-started/install
Aegon

3

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

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

repositories {
    google()
    jcenter()
}

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

buildscript {
    repositories {
        google()
        jcenter()
    }

}

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

2

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

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


2

Улучшение мастера флаттера

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

flutter checkout dev
flutter upgrade

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

flutter checkout master
flutter upgrade
flutter run

2

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

flutter upgrade 

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


1

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

Я сделал следующие шаги:

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

    Картинка наконец запущена


1

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

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


1

Когда я столкнулся с этой ошибкой, был выпущен 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 с "3.2.1" на "3.1.2" у меня сработало! Что тут происходит?
Шамшун

0

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

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

0

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

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

        }
    }
}

вместо них:

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

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

Используя наш сайт, вы подтверждаете, что прочитали и поняли нашу Политику в отношении файлов cookie и Политику конфиденциальности.
Licensed under cc by-sa 3.0 with attribution required.