2016-05-05 8 views
6

Niedawno zaktualizowałem wtyczkę gradle mojego projektu na Androida do 2.1.0 z 2.1.0-alpha4. Ale teraz widzę, że wszyscy moi buduje się niepowodzeniem z komunikatem tak:Aktualizacja do gradacji 2.1.0 powoduje - Nie można rozwinąć błędu ZIP

Error:Execution failed for task ':App:compileUpdemoDebugJavaWithJavac'. 
> Could not expand ZIP '/Users/admin/work/app/libs/lib-android-0.11.0.jar'. 

Gdybym przywrócić mój Gradle wtyczki do poprzedniego 2.1.0-alpha4 wersji, należy ustawić zmienną środowiskową ANDROID_DAILY_OVERRIDE a następnie zbudować mojego projektu - wszystko działa dobrze.

Czy ktoś inny natknął się na ten problem? Wierzę, że jest to związane z najnowszą wtyczką, a więc ludzie mogą po prostu zacząć natknąć się na ten problem.

Jakieś możliwe rozwiązania? (Zdaję sobie sprawę z niektórych obejściach, jak wyodrębnianie JAR i co Gradle pominąć proces ekstrakcji JAR, ale to na pewno nie brzmi warte wysiłku!)

+0

Z tego, co mogłem znaleźć, może to być problem z uprawnieniami do pliku jar. Może możesz spróbować tego, co jest zasugerowane w tej odpowiedzi http://stackoverflow.com/a/16946902/1914223 –

+0

Niestety, nie mogłem umieścić 'FilePermissions.chmodRecursively (dir, 0200)' używanego w metodzie. Gradle mówi, że nie ma klasy takiej jak "FilePermissions". – anirvan

Odpowiedz

3

Niestety, większość zamieszczonych tu odpowiedzi nie działa. Chociaż logicznie rzecz biorąc, odpowiedź @ Kowshicka zdawała się zajmować właściwą rzeczą - np. Coś jest nie tak z uprawnieniami do katalogu.Jednak przyznanie 777 dostępu nie może być właściwą rzeczą, a domyślny 755, który miałem w moim folderze deweloperskim, folderze sdk, folderze kompilacji - powinien działać dobrze. Ale nie. :(

końcu, co ja sobie sprawę, że są tylko 3 sposoby rozwiązania tego problemu:

  1. Poczekaj na Google do wydania aktualizacji do swoich narzędzi budować, które zaktualizować wtyczkę Gradle i miejmy nadzieję rozwiązać ten problem.
  2. I poczekaniu dla wyżej się stało, tylko rzeczą, że pracował dla mnie było obniżyć wtyczki Gradle do wersji 2.0.0. Sam fakt, że działa poprzez obniżenie pokazuje, że Prawdziwy problem nie jest związany z posiadanymi uprawnieniami do katalogu
  3. Wreszcie, jest to dość frustrująca rzecz, którą możesz zrobić - stworzyć oddzielnego użytkownika w swoim systemie i skonfigurować swój projekt od zera - pobierz Android Studio, SDK i obszar roboczy. Jest duża szansa, że ​​zadziała, ale to okropny sposób na pracę. A co więcej, jeśli nie masz systemu operacyjnego obsługującego szybkie przełączanie użytkowników, poczujesz świat bólu.

W moim przypadku przetrwałem z opcją # 2 przez jakiś czas i miałem po prostu szczęście, że mój dysk twardy został uaktualniony do SSD, więc w końcu znalazłem opcję nr 3 (ponieważ zrobiłem świeżą instalację mojego systemu operacyjnego na dysku SSD).

Inne info:
OS - OS X (El Capitan)
Android studio - 2.1.0

+0

Używam punktu 2, to zadziałało dla mnie dzięki – souttab

+0

obniżenie wersji gradle do 2.0.0 również dla mnie. Dzięki za tonę – user1035292

1

Z tego co widzę, projekt jest w katalogu administratora /Users/admin/work/app/libs/lib-android-0.11.0.jar.

1) Albo można spróbować przenieść swoją ścieżkę projektu do pewnego katalogu użytkownika, jak/home/nazwa_użytkownika/

2) Albo można dać prawa zapisu do projekcji ścieżkę za pomocą

sudo chmod 777 -R /Users/admin/work/app/ 

Zgadnij, że to pomaga.

+0

Wszystkie moje katalogi - Android Studio, SDK i projekt roboczy znajdowały się tylko w '/ Users/username /'. Udzielenie pozwolenia na '777' nie ma żadnego sensu. Domyślne '755' powinno działać poprawnie. Poza tym ten projekt to 2-letni projekt. Nagle coś nie tak z uprawnieniami nie brzmi dobrze. – anirvan

1

Spróbuj:

1.Go do Pomoc.

2. Sprawdź dostępność aktualizacji.

Zaktualizuj do wersji Android Studio 2.1.1, klikając na Zaktualizuj i ponownie uruchom.

+0

Tak, właśnie do tego doszło. W międzyczasie po prostu obniżyłem moją wtyczkę gradle:/ – anirvan

6

Wykonaj poniższe kroki, aby ustawić automatyczną synchronizację synchronizacji w swoim studiu android.

pliku ->Ustawienia ->budowy, wykonanie, wdrożenie ->budowanie narzędzia ->Gradle ->wyboru Użyj Domyślnie Gradle wrapper (zalecane) radiobutton.

Wykonaj również poniższe czynności, aby ponownie uruchomić studio Android w celu ponownego uruchomienia niepoprawnego bufora podręcznego.

pliku>Invalidate skrzynek/Restart (można też ręcznie usunąć pamięć podręczną w ~/Library/Caches/{yourIDEName} i uruchom IDE)

Następnie zapisz ustawienia i odbudować swój projekt.

+1

Zwykle jest to jak pierwsza rzecz, którą robię, gdy chodzi o dziwne problemy z Androidem Studio.Ale miałem do czynienia z tym problemem, nawet gdy budowałem swój projekt z wiersza poleceń za pomocą 'gradle assemble'. Oznacza to, że to nie jest kwestia AS, ale z wtyczką Gradle. – anirvan

0

miałem ten sam problem po otwarciu na nowym komputerze z systemem Android Studio 2.1.3 istniejący projet stworzony z Studio 1.x. Musiałem obniżyć wersję Gradle do 2.2.1 i wersji wtyczki Androida do wersji 1.5.0 w ustawieniach projektu, aby odzyskać udaną kompilację apk.

0

Jeśli pracujesz w systemie Windows:

spróbować rozpakować plik jar ręcznie. W większości przypadków w klasach nie jest rozróżniana wielkość liter, co powoduje problemy z systemem Windows.

Jeśli używasz systemu Windows, można uzyskać więcej informacji w ramach tego biletu:

https://code.google.com/p/android/issues/detail?id=207862

0

zdmuchnąć katalog build - jeśli prowadził Gradle z sudo lub jako inny użytkownik, budowania katalogów może mieć inne zastosowanie, a tym samym nie może wyodrębnić aar.

Powiązane problemy