Подтвердить что ты не робот

Gradle Ошибка сборки после обновления до 3.0

Недавно я обновил версию моего проекта gradle с версии 2.14.1 до 3.0. С тех пор сборка gradle не работает каждый раз с этой ошибкой:

Ошибка: причина: org.gradle.api.internal.tasks.DefaultTaskInputs $TaskInputUnionFileCollection не может быть передан в org.gradle.api.internal.file.collections.DefaultConfigurableFileCollection Возможные причины этой непредвиденной ошибки:

  • Gradle Кэш зависимостей может быть поврежден (это иногда происходит после таймаута сетевого подключения). Заново загружать зависимости и проект синхронизации (требуется сеть).
  • Состояние процесса сборки (демон) может быть повреждено. Остановка всех демонов gradle может решить эту проблему. Остановить gradle процессы сборки (требуется перезагрузка)
  • В вашем проекте может использоваться сторонний плагин, который несовместим с другими плагинами проекта или версией gradle, запрошенной проектом.
В случае коррумпированных процессов gradle вы также можете попробовать закрыть среду IDE, а затем убить все процессы Java.

Я искал google и нашел несколько решений, таких как this, но ничего не работает. Кто-нибудь знает, как это исправить?

4b9b3361

Ответ 1

Обновите инструменты сборки gradle до последней версии.

Один простой способ сделать это - добавить последнюю версию инструментов сборки в качестве зависимости в вашем файле build.gradle, например:

dependencies {
    classpath 'com.android.tools.build:gradle:2.2.0-beta1'
}

Затем вы можете запустить gradle tasks, а gradle будет загружать все, что вам нужно.

После выхода Android Studio 2.2, выпущенного 19 сентября 2016 года, последняя версия инструментов сборки - 2.2.0. Поэтому вы можете исправить это:

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

Поскольку стабилизатор Android Studio 2.4 еще не готов к выпуску (4 мая 2017 года), последняя стабильная версия инструментов сборки - 2.3.1.

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

Если вы обновите эту версию инструментов для сборки до версии 2.3. *, вы также должны обновить версию обертки gradle до 3.3 в файле /yourProjectRoot/ gradle/wrapper/gradle-wrapper.properties. (я знаю, что это не соответствующий вопрос Gradle build failing after update to 3.0, но я настоятельно рекомендую вам использовать последний инструмент сборки, рекомендованный Google).

BTW: версия 2.3.1 инструмента построения существует только в jCenter, а не в MavenCentral, поэтому, если вы используете ошибку ниже, когда запускаете командную строку gradlew в терминале

Could not find com.android.tools.build:gradle:2.3.1.
 Searched in the following locations:
     https://repo1.maven.org/maven2/com/android/tools/build/gradle/2.3.1/gradle-2.3.1.pom
     https://repo1.maven.org/maven2/com/android/tools/build/gradle/2.3.1/gradle-2.3.1.jar

просто замените mavenCentral() на jcenter() как

 repositories {
    jcenter()
    //mavenCentral()
}

Ответ 2

Для последнего обновления Android Studio 3.0

В gradle-wrapper.properties (Имя файла) измените URL-адрес distributionUrl на следующий:

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

Ответ 3

Если вы используете плагин gradle 2.1.3, Это легко решить:

обновите плагин gradle до версии 2.2.0-beta1

Примечания: это бета-версия, возможно, вы можете получить любые другие проблемы.

https://discuss.gradle.org/t/classcastexception-in-gradle-nightly-3-0-20160609/17979

Счастливое кодирование:)

Ответ 4

Хорошо, я начал работать. Для тех, кто сталкивается с той же проблемой, как это работает для меня, это выглядит следующим образом:

  • Перейдите в свою внешнюю папку .gradle(для меня это был C:\Users\drilon.gradle). Внутри кэша и папки daemon удалите всю папку с версией (они выглядят так: "2.14.1" или "3.0" ). Также перейдите в wrapper → dists → удалите все, что есть.
  • Внутри вашего корня проекта (для меня это был C:\Users\drilon\AndroidStudioProjects\PorjectName), перейдите в папку .gradle и удалите все.
  • Восстановить проект

EDIT:
Оказывается, это решение устанавливает версию gradle обратно в 2.14.1. end0421 является рабочим.

Ответ 5

если ваша версия Gradle: 3.0.1, используйте приведенный ниже код в вашем gradle-wrapper.properties distributionUrl=https\://services.gradle.org/distributions/gradle-4.1-all.zip

если 3.1.2, то используйте код ниже в вашем gradle-wrapper.properties distributionUrl=https\://services.gradle.org/distributions/gradle-4.4-all.zip

Ответ 6

Для последнего обновления Android Studio 3.3.1 ниже работает код.

1) gradle-wrapper.properties добавить ниже строки.

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

2) build.gradle на уровне проекта добавить ниже classpath

 dependencies
    {
        classpath 'com.android.tools.build:gradle:3.1.0'

    }

Ответ 7

Просто удалите все внутри папки Gradle в основной папке проекта и перестройте проект. Это начнет работать.

Ответ 8

Если ваш плагин gradle 3.0.0 для студии версии 3.0, добавьте его в gradle-wrapper.properties

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

Ответ 9

простой ответ попробуйте это...

перейдите к build.gradle(PROJECT) и проверьте версию Gradle, как показано ниже

'com.android.tools.build:gradle:2.1.3' или 3.0 или 3.1 или xx.xx

Теперь откройте gradle-wrapper.properties, чтобы увидеть эту строку кода, если версия Gradle 2.x, этот код ниже...

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

Строка кода gradle-2.14.1-all.zip должна совпадать с версией gradle

пример:

пример: у меня 2.x так... classpath 'com.android.tools.build:gradle:2.1.3' в build.gradle так

distributionUrl = https://services.gradle.org/distributions/gradle-2.14.1-all.zip в gradle-wrapper.properties.

если версия Gradle 3.x, тогда classpath 'com.android.tools.build:gradle:3.1.0' в build.gradle тогда

distributionUrl = https://services.gradle.org/distributions/gradle-3.14.1-all.zip в gradle-wrapper.properties.

проверить это будет работать

Ответ 10

если Android Studio Android Studio 3.0 ниже код работает.

gradle-wrapper.properties добавить ниже строки.

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

если Android Studio Android Studio 3.1.2 ниже код работает.

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

если Android Studio 3.3.1 ниже код работает.

1) gradle-wrapper.properties добавить ниже строки.

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

2) build.gradle на уровне проекта добавить ниже

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

Ответ 11

    After 1 hour R&D No Solution as worked for me...

    But still i have solution follow this its work 100%

    step 1: upgrade your build.gradle(Project:<your project name>)
    Example :  classpath 'com.android.tools.build:gradle:2.1.3' // old gradle file
               classpath 'com.android.tools.build:gradle:2.3.1' // upgraded file 

                                OR
               classpath 'com.android.tools.build:gradle:3.1.0'

    Step 2 : Upgrade compileSdkVersion buildToolsVersion 
    Example : compileSdkVersion 23    buildToolsVersion "23.0.3 // old api's
              compileSdkVersion 25    buildToolsVersion "25.0.2" // upgraded api's

   Step 3:  upgrade gradle-wrapper.properties 
   Example : distributionUrl=https\://services.gradle.org/distributions/gradle-2.14.1-all.zip // old or any version
            distributionUrl=https\://services.gradle.org/distributions/gradle-4.1-all.zip // new or any version

Шаг 4: наконец-то перейдем к сборке> перестроить проект...

Тем не менее вы сталкиваетесь с какой-то проблемой совершить или отправить мне....

...... Конец @Ambilpura