Кеш зависимостей Gradle может быть поврежден (иногда это происходит после тайм-аута сетевого подключения).

88

Я получаю такую ​​ошибку, как ее исправить.

Error:Unable to load class 'org.gradle.tooling.internal.protocol.test.InternalTestExecutionConnection'.
Possible causes for this unexpected error Gradle's dependency cache may be corrupt (this sometimes occurs after a network connection timeout.)
Re-download dependencies and sync project (requires network)The state of a Gradle build process (daemon) may be corrupt. Stopping all Gradle daemons may solve this problem.
Stop Gradle build processes (requires restart)Your project may be using a third-party plugin which is not compatible with the other plugins in the project or the version of Gradle requested by the project.In the case of corrupt Gradle processes, you can also try closing the IDE and then killing all Java processes.
Ватсал Харде
источник
Пожалуйста, проверьте мой ответ. В моем случае это была проблема пути JDK. stackoverflow.com/a/44583007/3265444
Ajji

Ответы:

167

Я обновил свою Android Studio до 2.3, и он попросил меня обновить мой плагин gradle до 3.3, что создало проблемы с моими работающими проектами. Я прошел через все решения Stack, и у меня ничего не работало, кроме этого обходного пути: я изменил свой URL-адрес распространения в gradle-wrapper.properties на этот.

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

(постоянный список ссылок здесь: https://services.gradle.org/distributions/ )

Мой проект запущен и работает, меня просто попросили обновить до Gradle build tools 25.0.0, что я и сделал. Теперь все нормально :)

  1. Перейдите в раздел проекта и выберите меню скриптов Gradle.
  2. В сценарии выберите меню gradle -wrapper.properties
  3. Затем замените distributionUrl = https: //services.gradle.org/distributions/gradle-2.2-all.zip на «distributionUrl = https: //services.gradle.org/distributions/gradle-3.4.1-all.zip».

введите описание изображения здесь примечание: Gradle дистрибутивов будет меняться в зависимости от версии студии Android.

Таймур Хан
источник
6
Идеальное решение, сработало у меня после нескольких дней поиска. Спасибо.
Franklyn
1
Где найти gradle-wrapper.properties? Все, что я вижу, это jar-файл,
портфолио,
Он находится в иерархии папок Gradle вашего проекта.
Taimur Khan
1
Благодарность! Но проблема сохраняется после инициализации каждого нового проекта. Есть ли постоянное исправление?
Oniya Daniel
2
Для тех, кто обновит это в будущем, список версий Gradle можно найти здесь: services.gradle.org/distributions Просто щелкните правой кнопкой мыши и сохраните местоположение ссылки, чтобы использовать String в вашем файле gradle.
PGMacDesign
45

Убедитесь, что у вас есть подключение к Интернету:

1. Для пользователей Windows: перейдите к> C:\Users\username\.gradle\wrapper\dists

2. Для пользователей Linux: перейдите по ссылке $HOME/.gradle (~/.gradle)и / или (В рамках конкретного проекта) <PROJECT_DIR>/.gradle

3.Удалите файл (ы) gradle с проблемой (т.е. заархивированные папки с отсутствующими без извлеченного файла)

4. Синхронизируйте проект с файлами Gradle.

Эли
источник
3
В моем случае интернет отключился при загрузке Gradle. Нажатие «Повторить попытку» ничего не дало (в Android Studio 3.1.3). Удаление C:\Users\username\.gradle\wrapper\distsпапки исправило ее и позволило снова загрузить ее.
ub3rst4r
15

Посмотрите руководство https://www.youtube.com/watch?v=u92_73vfA8M

или

выполните шаги:

  1. Зайти в любой браузер

  2. введите gradle и нажмите ввод

вы можете указать любую версию после

ключевое слово gradle

я загружаю Gradle 3.3

  1. https://services.gradle.org/distributions нажмите на эту ссылку, которая находится непосредственно в описании, если хотите

  2. нажмите на gradle 3.3 all.zip

  3. дождитесь завершения загрузки

  4. по завершении загрузки извлеките файл в папку

c: // пользователь / имя вашего компьютера /.gradle/wrapper/dists

  1. подождите, пока экстракция займет 5 минут

  2. Теперь откройте свой проект в студии Android

9. перейдите в файл> настройки> bulid, exec, deployment> gradle

  1. теперь измените использование градиента по умолчанию на

использовать локальный Gradle дистрибьютор

выберите место, где вы распаковали gradle 3.3.zip

C: \ Users \ имя вашего компьютера. Gradle \ wrapper \ dists \ gradle-3.3

  1. нажмите ОК

  2. Теперь сборка начинается снова и

теперь вы можете видеть, что сборка успешна и ошибка устранена

Манодж Селвин
источник
этот ответ должен охватывать все
аспекты
Зачем нам браузер?
Игорь Ганапольский
чтобы загрузить файл gradle локально для последующих сборок локально
Манодж Селвин
14

Удалите поврежденные файлы

Эта ошибка возникает, когда файлы Gradle не полностью загружены или повреждены по какой-либо другой причине, поэтому нам необходимо повторно загрузить файлы. Самый простой способ - удалить старые файлы в

C:\Users\username.gradle\wrapper\dists

и перестройте проект, Android Studio автоматически загрузит новые файлы.

Суманпал Сингх Саггу
источник
Спасибо, что поделились, у меня всегда не получалось загрузить, поэтому, даже если я изменил версию, это не помогло бы, но удаление файлов и повторная попытка сработали, спасибо.
Mousa Alfhaily
7

Если вы вручную настраиваете gradle, также убедитесь, что проекты build.gradle verison совместимы с ним. См. Следующий пример.

Build.gradle проекта

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

Ручная настройка Gradle

Ручная настройка Gradle

угур
источник
6

Пожалуйста, удалите все папки в /.graddle/version/

Вот как я решил свою. удачи

Пол мажора
источник
4

Попробуйте выполнить следующий шаг, чтобы «обновить» свою IDE (студия Android)

1. Позвольте Gradle восстановить ваши автоматически созданные файлы, щелкнув Build | Перестроить
2. Также попробуйте Выбрать файл | Недействительные кеши / перезапуск.

Нир Дуан
источник
1
Если не работает - после этого предоставьте журналы Gradle.
Nir Duan
3

Я решил эту проблему, загрузив текущую версию градиента по ссылке, указанной для загрузки последней версии градиента, возможно, градиента 3.3

Затем на следующем шаге я получил доступ к каталогу .graddle / wrapper / dists из домашнего каталога на моем Mac после отображения скрытых системных файлов и удаления папки с предыдущей версией, находящейся там.

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

Али Наваз
источник
2

Вы можете попробовать это

  1. сначала откройте свою Android Studio> откройте любой проект, который вы делаете
  2. нажмите Файл> Настройки> Сборка, Выполнение, Развертывание> Gradle
  3. В настройках уровня проекта есть 2 варианта синхронизации градиента: по умолчанию или локально.
  4. теперь измените значение по умолчанию на локальное распределение Gradle> Gradle Home

  5. выберите путь на вашем компьютере.

C: \ Program Files \ Android \ Android Studio \ gradle \ gradle-4.1

  1. нажмите ОК

  2. Теперь сборка начинается снова, это должно быть решено.


источник
2

Перейдите в "C: \ Users \ .gradle \ caches \". Удалите все файлы в папке. Затем синхронизируйте Gradle и перестройте проект.

Нихил
источник
Спасибо. по крайней мере, 4 часа я пытался решить эту проблему, все решения по stackoverflow терпят неудачу, кроме этого.
Дика
2

Если вы используете Ubuntu, то сначала вы должны показать все файлы из вашего домашнего каталога или из того места, где находится ваша папка студии Android:

  1. Перейдите в свой домашний каталог и отобразите все файлы с помощью ctrl + h
  2. Вы нашли папку .gradle
  3. Внутри .gradle -> обертка
  4. Вы можете найти папку dists , поэтому удалите эту папку dists
  5. Создайте новый проект, чем ваш файл Gradle повторно загружен
  6. Конго вы успешно строите проект
HandyPawan
источник
1

проверьте настройку distributionUrl в gradle-wrapper.properties. Я изменил https на http, и моя проблема была решена.

Стивенс
источник
1

В моем случае просто измените http на https в gradle-wrapper и синхронизируйте его.

Тандо Энтони Нви-Ака
источник
1

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

Вирадж Кулкарни
источник
Мне пришлось удалить и повторно импортировать свои модули
Джеймс Б.
1

Очистите папку .gradle и перестройте

МаникандаПрабху М.
источник
1
  1. Откройте C: \ Users \ Username.gradle \ wrapper \ dists \

  2. Откройте последнюю папку gradle, например gradle-4.1-rc-1-all

    Вы найдете случайную папку с именем 936kh1brdchce6fvd2c1o8t8x

  3. Скачать zip-архив с похожим названием

    например: https://downloads.gradle.org/distributions/gradle-4.1-rc-1-all.zip

  4. Сохраните его в этой папке

  5. Перезагрузите студию Android

    Он автоматически извлечет zip-папку, и ошибка исчезнет.

Мугашо Линкольн
источник
1

Наконец решил эту проблему.

Если вы просто скопируете файлы новой версии в старую папку и переопределите файлы, вы можете столкнуться с тем же вопросом, что и я.

Чтобы решить эту проблему:

  1. убедитесь, что вы сохранили все свои настройки.
  2. закройте AS, УДАЛИТЕ ВСЕ файлы вашей смешанной версии.
  3. извлеките новую версию в пустую папку.

Меня устраивает.

Дракулея
источник
Работал у меня. Приложение развертывалось с помощью самообслуживания, которое не удосужилось сначала очистить старый каталог. Запрос на это устранил проблему. Спасибо!
Стивен Л.
1

Может быть, вы можете запустить ./gradlew build -sв терминале, stacktrace покажет вам, где пошло не так.

Скотт Ван
источник
В моем случае я обнаружил, что один из моих репозиториев вышел из строя, что привело к ошибке загрузки зависимости gson
Скотт Ван,
1
Эта команда помогла мне найти правильный поврежденный файл gradle.
Джои Чонг
1

Для меня я клонировал проект из github, в котором использовалась версия gradle выше той, которую я установил. У меня было два варианта:

  1. Откройте gradle.wrapper-properties вашего проекта, который успешно строится, и скопируйте строку с надписью distributionUrl=https\://services.gradle.org/distributions/gradle-4.10.1-all.zip. Используйте это, чтобы заменить то же значение в неудачном проекте. Это должно делать свое дело.

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

KingBryan
источник
1

Я удалил папку gradle, а затем перестроил, все работает нормально

giveJob
источник
1

На эти вопросы было много ответов, но некоторые помогли. Хочу дать точный и актуальный ответ.

Кеш зависимостей Gradle может быть поврежден (иногда это происходит после тайм-аута сетевого подключения).

Эта ошибка возникает, когда у вас плохое интернет-соединение или вы переводите компьютер в спящий режим, пока Android Studio загружает необходимые зависимости.

Как решить эту проблему.

  1. Узнайте версию Gradle проекта. Вы увидите , что в gradle-wrapper.propertiesв distributionUrlмоем Gradle распределения было , https\://services.gradle.org/distributions/gradle-6.5-all.zipчто средства gradle-6.5-all.zipтребуются для загрузки , и сейчас он поврежден из - за тайм - аут соединения. Давайте найдем эту папку и удалим ее.
  2. Перейдите в .gradleпапку, затем в wrapperзатем, чтобы distsзатем найти папку, которая соответствует имени версии gradle, которая требуется для загрузки. В моем случае это была gradle-6.5-all.zipвыбрана эта папка и удалена.
  3. Теперь синхронизируйте проект и убедитесь, что у вас хорошее интернет-соединение и настройки, которые не позволят вашей системе перейти в спящий режим во время загрузки чего-либо.
Зишан Шабир
источник
1

Если вы видите эту ошибку в Android Studio 4.1 с Gradle 6.5, вам следует вернуться к

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

По какой-то причине

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

не работает правильно.

Януш
источник
0

Если вы обновили свою студию Android, перейдите в ФАЙЛ, Структура проекта, Проект, затем проверьте версию Gradle. Перед этим проверьте версию Gradle в C: \ Program Files \ Android \ Android Studio \ gradle и проверьте версию, если она соответствует, затем снова выполните синхронизацию, иначе измените версию gradle в студии Android и снова синхронизируйте.

Вы игроку
источник
0

У меня была аналогичная проблема после клонирования AnySoftKeyboard и открытия его в Android Studio. Для меня сработало удаление AynSoftKeyboard/gradleпапки, а затем очистка проекта через пункт меню Build > Clean Project.

Поэтому попробуйте удалить YourProject/gradleпапку и очистить проект, чтобы запустить синхронизацию Gradle.

Надеюсь, это сработает в вашем случае.

nmvictor
источник
0

скачать Gradle из здесь для вашей операционной системы и извлечь файл и вставить внутреннюю папку в INSTALLLOCATION / Gradle

чем в Android Studio. Goto File> Settings> bulid, exec, deployment> gradle и выберите опцию local gradle, укажите путь к файлу вашего нового загруженного gradle и нажмите ОК, он работает :)

Саиф Ур Рехман
источник
0
  1. удалить C: \ Users \ Administrator.gradle \ caches \ xxx (версия xxx gradle)
  2. перестроить
Бин Лю
источник
0

У меня была эта проблема, я просто удалил все, что связано с android, в c: // user / your pc name /, и это сработало

Али Сезар
источник
У меня была такая же проблема, и я просто удалил все, но все равно получаю ту же ошибку.
Савита Шарма
0

Если это произошло после обновления Android Studio , это может быть вызвано устаревшим инструментом сборки, ОбновитьAndroid SDK BuildTools

Хоссейн Шахдуст
источник
0

Иногда проблема заключается в файле-оболочке gradle внутри вашего файла проекта. Откройте файл gradle текущего проекта и удалите файл gradle wrapper.zip, а затем синхронизируйте проект, это будет работать.

Мухаммад Дауд
источник
0

Это был мой сценарий: мне пришлось использовать другую версию Android Studio (3.2.1), а версия Gradle была 4.6. Для этого я скачал версию Android Studio в формате .zip. Сначала это не сработало, даже если я создал новый проект, Gradle не работал. Но после некоторого исследования и некоторой помощи из этих сообщений я сделал следующее:

  1. Я пошел по своему маршруту файлов gradle (android-studio \ gradle) и удалил все файлы gradle-4.6.
  2. После этого я перешел на gradle-wrapper.properties и получил нужную мне версию Gradle (gradle-4.6-all.zip).
  3. Я пошел в Gradle сайт и ищет версию , что мне нужно.
  4. Загрузил и разархивировал его в мой путь к файлу gradle в Android Studio, см. Шаг 1.
  5. Я зашел в настройки Android Studio (файл / настройки / Gradle) и изменил параметр «Использовать оболочку gradle по умолчанию (рекомендуется)» на «Использовать локальное распространение Gradle» .
  6. Я выбрал маршрут, по которому загрузил версию Gradle, это шаг 4, и применил изменения.
  7. На всякий случай использовал опцию «Invalidate Cache / Restart» (файл / «Invalidate Cache / Restart»).
  8. После этого я использовал «Синхронизировать проект и файлы Gradle» и работал!

Кстати, я использую версию Android Studio 3.2.1 zip. У меня была такая же проблема, когда я пытался создавать проекты со старой версией Android Studio.

Мигель Йенгле
источник