Podczas próby skompilowania projektu w Android Studio pojawia się następujący błąd:
Gradle: error: diamond operator is not supported in -source 1.6
Mam 1.7 ustawiony jako cel we wszystkich preferencjach projektu, które znalazłem. Również ścieżka wyświetlana w projektach SDK pod 1.7 SDK jest poprawną ścieżką do instalacji Java 1.7.
Nawet kiedy uruchamiam java -version w terminalu, to mówi mi, że używam java 1.7.
Próbowałem ustawić zmienną env JAVA_HOME na to:
/Library/Java/JavaVirtualMachines/jdk1.7.0_25.jdk/Contents/Home
Błąd nie znika. Jak wyeliminować błąd?
java
intellij-idea
gradle
android-studio
java-7
simekadam
źródło
źródło
sourceCompatibility
ustawiłeś swój build.gradle?Odpowiedzi:
Obsługa Java 7 została dodana w narzędziach do budowania 19. Możesz teraz używać takich funkcji, jak operator diamentu, multi-catch, try-with-resources, stringi w przełącznikach itp. Dodaj następujące elementy do swojego
build.gradle
.Wymagane są Gradle 1.7+, Android Gradle Plugin 0.6. +.
Pamiętaj, że spróbuj tylko z zasobami wymagającymi
minSdkVersion
19. Inne funkcje działają na poprzednich platformach.Link do instrukcji obsługi wtyczki Gradle dla Androida
Link, aby zobaczyć, jak różni się źródło od celu
źródło
Być może powyższe odpowiedzi są stare, ale w nowym Android Studios 1 wykonaj następujące czynności, aby moduł działał w wersji 1.7 (lub 1.6, jeśli wolisz). Kliknij Plik -> Struktura projektu. Wybierz moduł, który chcesz uruchomić, a następnie w „Source Compatibility” i „Target Compatibility” wybierz 1.7. Kliknij OK".
źródło
Możesz to zmienić w nowej wersji Android Studio (0.8.X)
FIle-> Inne ustawienia -> Ustawienia domyślne -> Kompilator (Rozwiń, klikając strzałkę w lewo) -> Kompilator Java -> Tutaj możesz zmienić wersję kodu bajtowego projektu
źródło
Najnowsze Android Studio 1.4.
Kliknij Plik-> Struktura projektu-> Lokalizacja SDK-> Lokalizacja JDK.
Możesz również ustawić zgodność wersji JDK dla poszczególnych modułów, przechodząc do modułu (poniżej lokalizacji SDK) i odpowiednio edytować zgodność źródła. (uwaga, dotyczy to tylko modułu Android).
źródło
Kliknij prawym przyciskiem myszy projekt> Otwórz ustawienia modułu> Wybierz „Projekt” w sekcji „Ustawienia projektu”
Zmień Project SDK na najnowszy (może to być API 21) i poziom języka projektu na 7+
źródło
Obecnie Android nie obsługuje języka Java 7, tylko Java 6. Nowe funkcje w języku Java 7, takie jak składnia diamentów, nie są zatem obecnie obsługiwane. Znalezienie źródeł, które to obsługują, nie jest łatwe, ale mogłem stwierdzić, że silnik Dalvic jest zbudowany na podzbiorze Apache Harmony, który kiedykolwiek obsługiwał Javę do wersji 6. A jeśli sprawdzisz wymagania systemowe do tworzenia aplikacji na Androida, stwierdza się również że przynajmniej JDK 6 jest potrzebny (choć to oczywiście nie jest prawdziwy dowód, tylko wskazówka). A to mówi mniej więcej to samo, co ja. Jeśli znajdę coś bardziej merytorycznego, dodam to.
Edycja: Wygląda na to, że obsługa Java 7 została dodana od czasu, gdy napisałem tę odpowiedź; sprawdź odpowiedź Sergii Pechenizkyi .
źródło
Zawsze używaj najnowszej wersji SDK do kompilacji:
Nie wpływa na zachowanie środowiska uruchomieniowego , ale zapewnia najnowsze funkcje programistyczne.
źródło
Przejdź do swojego Gradle i poszukaj sourceCompatibility i zmień ją z 1.6 na 7 . To przynajmniej zadziałało dla mnie.
Możesz także przejść do ustawień modułu i ustawić zgodność źródła / celu na 1.7.
Okno ustawień modułu
Spowoduje to utworzenie następującego kodu w Twoim Gradle:
źródło