Otrzymuję to ostrzeżenie w pliku oceny projektu:
Ostrzeżenie: (16, 5) Nie można zastosować „buildTypes” do „(groovy.lang.Closure <com.android.build.gradle.internal.dsl.BuildType>)”
Moja sekcja buildTypes to:
buildTypes {
debug {
debuggable true
}
release {
minifyEnabled true
proguardFiles getDefaultProguardFile('proguard-android.txt'), 'proguard-project.txt'
}
}
Obecnie używam Androida Studio 1.1.0, compileSdkVersion 22, buildToolsVersion 22.0.0 i targetSdkVersion 22. Próbowałem wycofać się do wersji 21, ale wciąż otrzymywałem ostrzeżenie.
Co powoduje to ostrzeżenie i jak go naprawić?
android-studio
android-gradle-plugin
Jim Vitek
źródło
źródło
Odpowiedzi:
Dla mnie problem nie został rozwiązany przez zastosowanie powyższego rozwiązania. Zamiast tego musiałem przejść do ustawień w Android Studio i wybrać „Użyj opakowania stopniowego”:
W Android Studio wybierz: Plik \ Ustawienia \ Kompilacja, Wykonanie, Wdrażanie \ Kompiluj narzędzia \ Gradle
(Użytkownicy komputerów Mac: Android Studio \ Preferencje ... \ Kompilacja, wykonanie, wdrożenie \ Narzędzia do kompilacji \ Gradle )
Znak: użyj domyślnego opakowania gradientu (domyślne)
To usunęło wszystkie ostrzeżenia „nie można zastosować do” (groovy.lang.Closure ”) w plikach kompilacji.
źródło
Miałem ten sam problem. Przeniesienie buildTypes jako ostatniego wpisu w sekcji Androida działało dla mnie.
źródło
buildTypes
. To rozwiązanie zadziałało na ostatnie!1 Wytnij i wklej „buildTypes” w tej samej pozycji w sekcji „Android”
2 Re Sync Project
źródło
Aby rozwiązać ten problem, w Android Studio przejdź do Plik -> Ustawienia . W ustawieniach wybierz Kompilacja, wykonanie, wdrożenie -> Narzędzia kompilacji -> Stopień i wybierz opcję „Użyj domyślnego opakowania stopni (zalecane)” .
Po odbudowaniu build.gradle będzie w porządku.
źródło
Jeśli żadna z powyższych opcji nie działa, wykonaj następujące czynności
Project
perspektywiczny w „Eksploratorze projektów”..gradle
ibuild
foldery.źródło
Udało mi się rozwiązać problem, wykonując następujące czynności: Kliknij „Plik”, a następnie „Unieważnij pamięć podręczną / Uruchom ponownie
źródło
Najłatwiejszym sposobem rozwiązania tego problemu jest odtworzenie projektu, aby umożliwić Android Studio ponowną konfigurację programu Gradle.
Po prostu wybierz „Otwórz istniejący projekt Android Studio” i wybierz folder projektu.
Więcej informacji tutaj .
źródło
to działało dla mnie:
źródło
Problem pojawia się, gdy importujesz projekt do swojego środowiska, a wtyczka Gradle jest instalowana w innym miejscu niż w oryginale. Musisz tylko wskazać, gdzie znajduje się Twoja instalacja Gradle.
Przenoszenie buildTypes lub defaultConfig lub cokolwiek innego między sobą nie jest kompletnym rozwiązaniem
źródło
Problem polega na tym, że ustawienia Android Studio, które prawdopodobnie zaimportowałeś podczas aktualizacji, nadal wskazywały na gradle-2.4 lub niektóre inne wersje niż Android Studio 1.5 oczekuje.
Aby rozwiązać ten problem, otwórz Ustawienia i przejdź do Kompilacja, Wykonanie, Wdrażanie> Narzędzia do budowania> Stopniowanie i zmień ścieżkę główną lokalnej dystrybucji stopni lub wybierz domyślne opakowanie stopni.
Zastosuj i ponownie zsynchronizuj swój projekt.
źródło
Miałem ten sam problem. Rozpocząłem nowy projekt i zadziałał, więc właśnie skopiowałem plik build.gradle. W moim przypadku jedyną różnicą był brak sekcji compileOptions. Usunąłem go z mojego projektu, zsynchronizowałem grad, ponownie wstawiłem sekcję compileOptions, a następnie ponownie zsynchronizowałem grad.
źródło
W Android Studio przejdź do Plik -> Ustawienia. Następnie wybierz Kompilacja, wykonanie, wdrożenie -> Narzędzia kompilacji -> Stopień i wybierz „Użyj domyślnego opakowania stopni (zalecane)”.
Odbuduj projekt.
źródło
W moim przypadku moja
buildTypes
sekcja była powyżej mojejproductFlavors
sekcji. Wymiana pozycji pozbyła się ostrzeżenia:PRZED:
PO:
Korzystam z Androida Studio 2.1.2 z następującą konfiguracją u góry mojej
android
sekcji:źródło
Kiedyś aktualizowałem to Android Studio.
Kiedy poszedłem do Ustawienia >> Narzędzia do budowania >> Gradle , okazało się, że lokalna ścieżka Gradle jest nieprawidłowa, ponieważ zaktualizowano również wersję Gradle z 2.6 do 2.8.
Naprawiono nową ścieżkę i stopień ponownej synchronizacji usunął ostrzeżenie.
Innym sposobem jest użycie
gradlewrapper
.źródło
Zmiana dystrybucjiUrl = https: //services.gradle.org/distribution/gradle-2.1-bin.zip na gradle-2.1-all.zip w gradle-wrapper.properties rozwiązał problem dla mnie.
źródło
EDYCJA: W ten sposób ostatecznie rozwiązałem ten problem ...
Nawiguj w Android Studio, aby:
Plik | Ustawienia | Kompilacja, wykonanie, wdrożenie | Narzędzia do budowania | Gradle
Upewnij się, że to nie jest zaznaczone, mimo że zaleca się zachować ...
Użyj domyślnego opakowania gradientowego (zalecane)
i że ten jest sprawdzony ...
Użyj lokalnej dystrybucji stopni
i że Gradle Home jest do tego nastawiony, być może później gradle-nn ...
C: / Program Files / Android / Android Studio1 / gradle / gradle-2.4
Może być konieczne ponowne uruchomienie Android Studio, przebudowanie projektu itp., Ale problem został rozwiązany.
Koniec edycji.
Publikuję to, aby doradzić wszystkim, którzy są nowi w tym problemie, aby go zignorowali. Projekt działa idealnie niezależnie. Jest to po prostu błąd w systemie kompilacji, który, mam nadzieję, zostanie wkrótce naprawiony. Zamieściłem komentarz i głosowałem tutaj, gdzie jest to znowu aktywny temat ...
https://code.google.com/p/android/issues/detail?can=2&start=0&num=100&q=&colspec=ID%20Type%20Status%20Owner%20Summary%20Stars&groupby=&sort=&id=76719
Po bezskutecznym wypróbowaniu sugestii z trzech poniższych wątków ponownie wykonałem cały projekt od podstaw. Rozpocząłem nowy projekt Android Studio, skopiowałem do niego wszystkie oryginalne biblioteki lib i pliki główne, ignorując wszystkie pliki generowane przez system kompilacji i przebudowując projekt. Wszystko było w porządku, z wyjątkiem tych, których „nie można zastosować do ostrzeżeń (groovy.lang.Closure)” ponownie pojawiły się z zemsty. Potem ponownie przejrzałem te sugestie, aby mieć pewność, że niczego nie przeoczyłem.
1 buildTypes nie może być zastosowany do groovy.lang. Zamknięcie przejdź do ustawień w Android Studio i wybierz „Użyj opakowania stopni”: W Android Studio wybierz: Plik \ Ustawienia \ Kompilacja, Wykonanie, Wdrożenie \ Narzędzia budowania \ Oznaczenie stopnia: Użyj domyślnego stopnia wrapper (domyślnie) To usunięte wszystkie „nie można zastosować do ostrzeżeń” (groovy.lang.Closure ”) w plikach kompilacji.
2 „zależności” nie można zastosować do „(groovy.lang.Closure)” Otwórz i edytuj plik: twój projekt / gradle / wrapper / gradle-wrapper.propertie. Edytuj zawartość jak poniżej, a następnie zapisz. Usuń ten folder: twójprojekt / .gradle. Kliknij Synchronizuj projekt z plikami stopni, możesz zacząć.
3 https://github.com/DrKLO/Telegram/issues/870
Moja konfiguracja to: Android Studio 1.3, compileSdk wersja 22, buildTools wersja „22.0.1”
źródło
usuń folder stopni w folderze aplikacji i ponownie zsynchronizuj projekt
źródło
Wszystko, co musiałem zrobić, aby usunąć
Z
i ostrzeżenie zniknęło.
Ostateczny wygląd był taki
źródło
Zmiana
buildToolsVersion
zdo
pracował dla mnie.
źródło