Pamięć podręczna zależności Gradle może być uszkodzona (czasami zdarza się to po przekroczeniu limitu czasu połączenia sieciowego).

88

Otrzymuję taki błąd, jak to naprawić.

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.
Vatsal Harde
źródło
Sprawdź moją odpowiedź. W moim przypadku była to kwestia ścieżki JDK. stackoverflow.com/a/44583007/3265444
Ajji,

Odpowiedzi:

166

Zaktualizowałem swoje Android Studio do wersji 2.3 i poprosiło mnie o zaktualizowanie wtyczki Gradle do wersji 3.3, która powodowała problemy z uruchomionymi projektami. Przeszedłem przez wszystkie rozwiązania stosu i nic nie działało, z wyjątkiem tego obejścia: zmieniłem mój adres URL dystrybucji w gradle-wrapper.properties na ten.

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

(stała lista linków tutaj: https://services.gradle.org/distributions/ )

Mój projekt jest gotowy i działa. Po prostu poprosiłem mnie o zaktualizowanie narzędzi do kompilacji Gradle do wersji 25.0.0, co zrobiłem. Wszystko jest teraz w porządku :)

  1. Przejdź do sekcji projektu i wybierz menu skryptów ocen.
  2. W skrypcie z menu wybierz gradle -wrapper.properties
  3. Następnie zamień DistributionUrl = https: //services.gradle.org/distributions/gradle-2.2-all.zip na „distributionUrl = https: //services.gradle.org/distributions/gradle-3.4.1-all.zip”

wprowadź opis obrazu tutaj Uwaga: gradle dystrybucji zmieni się w zależności od wersji Android Studio.

Taimur Khan
źródło
6
Idealne rozwiązanie, sprawdziło się po wielu dniach poszukiwań. Dzięki.
Franklyn
1
Gdzie znaleziono gradle-wrapper.properties? Widzę tylko plik jar
portfoliobuilder
Znajduje się w hierarchii folderów Gradle twojego projektu.
Taimur Khan,
1
Dzięki! Ale problem nadal występuje po zainicjowaniu każdego nowego projektu. Czy istnieje trwała poprawka?
Oniya Daniel
2
Dla każdego, kto zaktualizuje to w przyszłości, listę wersji Gradle można znaleźć tutaj: services.gradle.org/distributions Po prostu kliknij prawym przyciskiem myszy i zapisz lokalizację łącza, aby użyć ciągu znaków w pliku gradle.
PGMacDesign
45

Upewnij się, że masz połączenie z Internetem, a następnie:

1. Użytkownicy systemu Windows: przejdź do> C:\Users\username\.gradle\wrapper\dists

2. Użytkownicy systemu Linux Przejdź do $HOME/.gradle (~/.gradle)i / lub (w ramach określonego projektu) <PROJECT_DIR>/.gradle

3. Usuń plik (i) gradle (i) z problemem (tj. Brakujące spakowane foldery bez wyodrębnionego pliku)

4. Zsynchronizuj projekt z plikami gradle.

eli
źródło
3
W moim przypadku internet przestał działać podczas pobierania Gradle. Kliknięcie „Spróbuj ponownie” nic nie dało (w Android Studio 3.1.3). Usunięcie C:\Users\username\.gradle\wrapper\distsfolderu naprawiło to i pozwoliło na ponowne pobranie.
ub3rst4r
15

Obejrzyj samouczek https://www.youtube.com/watch?v=u92_73vfA8M

lub

wykonaj kroki:

  1. Przejdź do dowolnej przeglądarki

  2. wpisz gradle i naciśnij Enter

możesz określić dowolną wersję po

słowo kluczowe gradle

pobieram gradle 3.3

  1. https://services.gradle.org/distributions kliknij ten link, który jest bezpośrednio w opisie, jeśli chcesz

  2. kliknij gradle 3.3 all.zip

  3. poczekaj na zakończenie pobierania

  4. po zakończeniu pobierania wypakuj plik do lokalizacji

c: // użytkownik / nazwa twojego komputera /.gradle/wrapper/dists

  1. poczekaj, aż ekstrakcja zajmie 5 minut

  2. Teraz otwórz swój projekt w Android Studio

9. przejdź do file> settings> bulid, exec, deployment> gradle

  1. teraz zmień użyj domyślnego gradle na

użyj lokalnej dystrybucji gradle

wybierz lokalizację, w której rozpakowałeś gradle 3.3.zip

C: \ Users \ nazwa twojego komputera.gradle \ wrapper \ dists \ gradle-3.3

  1. kliknij OK

  2. Teraz kompilacja zaczyna się od nowa i

teraz widać, że kompilacja się powiodła, a błąd został rozwiązany

Manoj Selvin
źródło
ta odpowiedź powinna obejmować każdy przepływ problemu
JuLes
Dlaczego potrzebujemy przeglądarki?
IgorGanapolsky
aby lokalnie pobrać plik gradle dla kolejnych kompilacji
Manoj Selvin
14

Usuń uszkodzone pliki

Ten błąd występuje, gdy pliki Gradle nie są całkowicie pobierane lub uszkodzone z innego powodu, więc musimy ponownie pobrać pliki. Najłatwiejszym sposobem jest usunięcie starych plików w formacie

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

i przebudujesz projekt, Android Studio automatycznie pobierze nowe pliki.

Sumanpal Singh Saggu
źródło
Dzięki za udostępnienie, zawsze mi się nie udało pobrać, więc nawet gdybym zmienił wersję, to nie pomogłoby, ale usunięcie plików i ponowna próba zadziałało, dzięki.
Mousa Alfhaily
7

Jeśli ręcznie konfigurujesz gradle, upewnij się, że projekty build.gradle verison są z nim zgodne. Zobacz poniższy przykład.

Projekt build.gradle

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

Ręczna konfiguracja nachylenia

Ręczna konfiguracja nachylenia

ugur
źródło
6

Prosimy o usunięcie wszystkich folderów w /.graddle/version/

Oto jak rozwiązałem swoje. powodzenia

Paul majora
źródło
3

Rozwiązałem ten problem, pobierając aktualną wersję programu graddle z linku, pod warunkiem pobrania najnowszej wersji graddle, prawdopodobnie graddle 3.3

Następnie w następnym kroku uzyskałem dostęp do katalogu .graddle / wrapper / dists z katalogu domowego na moim Macu po wyświetleniu ukrytych plików systemowych i usunięciu znajdującego się tam folderu poprzedniej wersji.

Teraz po zdekompresowaniu umieściłem tam folder pobranej najnowszej wersji. Uruchomiono ponownie studio Android i problem został rozwiązany.

Ali Nawaz
źródło
2

Możesz tego spróbować

  1. najpierw Otwórz swoje Android Studio> otwórz dowolny projekt, który robisz
  2. kliknij Plik> Ustawienia> Kompilacja, wykonanie, wdrożenie> Gradle
  3. W ustawieniach na poziomie projektu dostępne są 2 opcje synchronizacji oceny jako domyślnej lub lokalnej.
  4. teraz zmień z domyślnej na lokalną dystrybucję gradle> gradle Home

  5. wybierz ścieżkę na swoim komputerze.

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

  1. kliknij OK

  2. Teraz kompilacja zaczyna się od nowa, należy ją rozwiązać.


źródło
2

Przejdź do „C: \ Users \ .gradle \ caches \”. Usuń wszystkie pliki w folderze. Następnie zsynchronizuj Gradle i odbuduj projekt.

Nikhil
źródło
Dziękuję Ci. co najmniej 4 godziny próbowałem rozwiązać ten problem, każde rozwiązanie dotyczące przepełnienia stosu kończy się niepowodzeniem.
Dika
2

Jeśli używasz Ubuntu, więc najpierw musisz odkryć wszystkie pliki z katalogu domowego lub miejsca, w którym znajduje się folder studia Android:

  1. Przejdź do katalogu domowego i odkryj wszystkie pliki, używając ctrl + h
  2. Znalazłeś folder .gradle
  3. Wewnątrz .gradle -> wrapper
  4. Możesz znaleźć folder dists , więc usuń ten folder dists
  5. Utwórz nowy projekt niż ponownie pobrany plik Gradle
  6. Kongo pomyślnie zbudujesz projekt
HandyPawan
źródło
1

sprawdź ustawienie DistributionUrl w gradle-wrapper.properties. Zmieniłem https na http, wtedy mój problem został rozwiązany.

Stevens
źródło
1

W moim przypadku po prostu zmień http na https w gradle-wrapper i zsynchronizuj.

Tandoh Anthony Nwi-Ackah
źródło
1

Po prostu ponownie zaimportuj projekt. :) Próbowałem wyczyścić pamięć podręczną i odświeżanie zależności nie działa, ale nie udało się.

Viraj Kulkarni
źródło
Musiałem usunąć i ponownie zaimportować moje moduły
James B,
1

Wyczyść folder .gradle i odbuduj

ManikandaPrabhu M
źródło
1
  1. Otwórz C: \ Users \ Username.gradle \ wrapper \ dists \

  2. Otwórz najnowszy folder gradle, np. Gradle-4.1-rc-1-all

    Znajdziesz losowy folder o nazwie 936kh1brdchce6fvd2c1o8t8x

  3. Pobierz plik zip o podobnej nazwie

    np .: https://downloads.gradle.org/distributions/gradle-4.1-rc-1-all.zip

  4. Zapisz go w tym folderze

  5. Uruchom ponownie Android Studio

    Automatycznie wyodrębni folder zip, a błąd zostanie wyczyszczony

Mugasho Lincoln
źródło
1

Wreszcie rozwiązałem ten problem.

Jeśli po prostu skopiujesz pliki nowej wersji do starego folderu i zastąpisz pliki, możesz napotkać to samo pytanie, co ja.

Aby to rozwiązać:

  1. upewnij się, że zapisałeś wszystkie ustawienia.
  2. zamknij AS, USUŃ WSZYSTKIE pliki swojej wersji mieszanej.
  3. wypakuj nową wersję do pustego folderu.

Mi to pasuje.

Draculea
źródło
Pracował dla mnie. Aplikacja była wdrażana za pośrednictwem samoobsługi, która nie zadała sobie trudu, aby najpierw wyczyścić stary katalog. Poproszenie ich o zrobienie tego rozwiązało problem. Dziękuję Ci!
Steven L
1

Może możesz uruchomić ./gradlew build -sw terminalu, śledzenie stosu pokaże ci, gdzie poszło źle.

Scott Wang
źródło
W moim przypadku okazało się, że jeden z moich repozytoriów nie powiódł się, co spowodowało niepowodzenie pobierania zależności gson
Scott Wang,
1
To polecenie pomaga mi znaleźć poprawny uszkodzony plik gradle.
Joey Chong
1

Dla mnie klonowałem projekt z github, który korzystał z wersji Gradle wyższej niż ta, którą zainstalowałem. Miałem dwie możliwości:

  1. Otwórz gradle.wrapper-properties projektu, który pomyślnie zbudowałeś, i skopiuj linię, która mówi distributionUrl=https\://services.gradle.org/distributions/gradle-4.10.1-all.zip. Użyj tego, aby zastąpić tę samą wartość w projekcie, który kończy się niepowodzeniem. To powinno załatwić sprawę.

  2. Twoja kompilacja może nadal się nie powieść, jeśli wersja gradle użyta do zbudowania projektu jest wyższa niż ta, którą właśnie dodałeś. W tym celu należy zaktualizować wersję gradle do najnowszej.

KingBryan
źródło
1

Usunąłem Gradle folder, a następnie zrobiłem odbudować, wszystko działa poprawnie

giveJob
źródło
1

Wiele odpowiedzi na te pytania, ale kilka było pomocnych. Chcę udzielić dokładnej i aktualnej odpowiedzi.

Pamięć podręczna zależności Gradle może być uszkodzona (czasami zdarza się to po przekroczeniu limitu czasu połączenia sieciowego).

Ten błąd występuje, gdy masz słabe połączenie internetowe lub uśpisz komputer, gdy Android Studio pobiera wymagane zależności.

Jak rozwiązać ten problem.

  1. Sprawdź wersję Gradle projektu. Przekonasz się, że w gradle-wrapper.propertiesw distributionUrlmoim Gradle dystrybucji był https\://services.gradle.org/distributions/gradle-6.5-all.zipto znaczy gradle-6.5-all.zipjest wymagane do pobrania, a teraz jest on uszkodzony z powodu przekroczenia limitu czasu połączenia. Znajdźmy ten folder i usuńmy to.
  2. Przejdź do .gradlefolderu, a następnie do wrappernastępnie, aby distsznaleźć folder odpowiadający nazwie wersji programu Gradle wymaganej do pobrania. W moim przypadku było to gradle-6.5-all.zipzaznaczenie tego folderu i usunięcie go.
  3. Teraz zsynchronizuj projekt i upewnij się, że masz dobre połączenie internetowe i ustawienia, które zapobiegną uśpieniu systemu podczas pobierania czegoś.
Zeeshan Shabbir
źródło
1

Jeśli widzisz ten błąd w Android Studio 4.1 z Gradle 6.5, powinieneś wrócić do

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

Z jakiegoś powodu

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

nie działa poprawnie.

Janusz
źródło
0

Jeśli zaktualizowałeś swoje studio Android, przejdź do FILE, Project Structure, Project, a następnie sprawdź wersję gradle. Wcześniej sprawdź wersję gradle w C: \ Program Files \ Android \ Android Studio \ gradle i sprawdź, czy wersja jest zgodna, a następnie zsynchronizuj ponownie, w przeciwnym razie zmień wersję gradle w Android Studio i zsynchronizuj ponownie.

Ty do gracza
źródło
0

Podobny problem miałem po sklonowaniu AnySoftKeyboard i otwarciu go w Android Studio. Udało mi się usunąć AynSoftKeyboard/gradlefolder, a następnie wyczyścić projekt za pomocą elementu menu Build > Clean Project.

Spróbuj więc usunąć YourProject/gradlefolder i wyczyścić projekt, aby uruchomić synchronizację Gradle.

Mam nadzieję, że to zadziała w Twoim przypadku.

nmvictor
źródło
0

Pobieranie Gradle od tutaj dla danego systemu operacyjnego i wyodrębnić plik i wklej do folderu wewnętrzną InstallLocation / Gradle

niż w Android Studio Idź do Plik> Ustawienia> bulid, exec, wdrożenie> gradle i wybierz opcję lokalnego gradle i podaj ścieżkę do pliku nowego pobranego gradle i naciśnij OK, to działa :)

Saif Ur Rehman
źródło
0
  1. usuń C: \ Users \ Administrator.gradle \ caches \ xxx (wersja xxx gradle)
  2. odbudować
Bean Liu
źródło
0

Miałem ten problem, po prostu usunąłem wszystko związane z Androidem w c: // użytkownik / nazwa twojego komputera / i zadziałało

ali sezar
źródło
Miałem ten sam problem i właśnie usunąłem wszystko, ale nadal otrzymuję ten sam błąd.
Savita Sharma
0

Jeśli stało się to po uaktualnieniu Android Studio , może to być spowodowane nieaktualnym narzędziem do kompilacji UpdateAndroid SDK BuildTools

Hossein Shahdoost
źródło
0

Czasami problem jest związany z plikiem opakowania gradle w pliku projektu. Otwórz bieżący plik gradle projektu i usuń plik gradle wrapper.zip, a następnie zsynchronizuj projekt, co zadziała.

Muhammad Dawood
źródło
0

Oto mój scenariusz: musiałem użyć innej wersji Android Studio (3.2.1), a wersja Gradle to 4.6. W tym celu pobrałem wersję .zip Android Studio. Na początku to nie działało, nawet jeśli stworzyłem nowy projekt, Gradle nie działał. Ale po kilku badaniach i pomocy z tych postów zrobiłem co następuje:

  1. Poszedłem do mojego Gradle plików trasie (android-studio \ Gradle) i usunięte wszystkie pliki Gradle-4,6.
  2. Następnie przeszedłem do gradle-wrapper.properties i otrzymałem wersję Gradle, której potrzebowałem (gradle-4.6-all.zip).
  3. Poszedłem do witryny Gradle i poszukałem wersji, której potrzebowałem.
  4. Pobrałem go i rozpakowałem do ścieżki pliku gradle w Android Studio, spójrz na krok 1.
  5. Poszedłem do ustawień Android Studio (plik / ustawienia / Gradle) i zmieniłem opcję „Użyj domyślnego opakowania gradle (zalecane)” na „Użyj lokalnej dystrybucji gradle” .
  6. Wybrałem trasę, na którą pobrałem wersję Gradle, czyli krok 4, i zastosowałem zmiany.
  7. Na wszelki wypadek skorzystałem z opcji „Unieważnij pamięć podręczną / Uruchom ponownie” (plik / „Unieważnij pamięć podręczną / Uruchom ponownie”).
  8. Potem użyłem „projektu synchronizacji i plików Gradle” i działałem!

Nawiasem mówiąc, używam wersji zip Android Studio 3.2.1. Miałem ten sam problem, gdy próbowałem tworzyć projekty w starszym Android Studio.

Miguel Yengle
źródło