Próbuję skompilować projekt systemu Android i pojawia się ten błąd
[INFO] Exception in thread "main" java.lang.UnsupportedClassVersionError: com/android/dx/command/Main : Unsupported major.minor version 52.0
[INFO] at java.lang.ClassLoader.defineClass1(Native Method)
[INFO] at java.lang.ClassLoader.defineClass(ClassLoader.java:800)
[INFO] at java.security.SecureClassLoader.defineClass(SecureClassLoader.java:142)
[INFO] at java.net.URLClassLoader.defineClass(URLClassLoader.java:449)
[INFO] at java.net.URLClassLoader.access$100(URLClassLoader.java:71)
[INFO] at java.net.URLClassLoader$1.run(URLClassLoader.java:361)
[INFO] at java.net.URLClassLoader$1.run(URLClassLoader.java:355)
[INFO] at java.security.AccessController.doPrivileged(Native Method)
[INFO] at java.net.URLClassLoader.findClass(URLClassLoader.java:354)
[INFO] at java.lang.ClassLoader.loadClass(ClassLoader.java:425)
[INFO] at sun.misc.Launcher$AppClassLoader.loadClass(Launcher.java:308)
[INFO] at java.lang.ClassLoader.loadClass(ClassLoader.java:358)
[INFO] at sun.launcher.LauncherHelper.checkAndLoadMain(LauncherHelper.java:482)
[INFO] ------------------------------------------------------------------------
[INFO] BUILD FAILURE
[INFO] ------------------------------------------------------------------------
Czytałem w innym poście, że próba kompilacji z Javą 8 może spowodować ten błąd, ale nie w moim przypadku, mam następującą wersję Java:
java version "1.7.0_79"
OpenJDK Runtime Environment (IcedTea 2.5.5) (7u79-2.5.5-0ubuntu0.14.04.2)
OpenJDK 64-Bit Server VM (build 24.79-b02, mixed mode)
System operacyjny: Linux Mint (nie mam zainstalowanej Java 8.) Kompilacja: MAVEN
Czy ktoś może mi w tym pomóc?
java
android
maven-plugin
Rafael Reyes
źródło
źródło
com/android/dx/command/Main
Odpowiedzi:
Z tym problemem borykam się również podczas tworzenia nowego projektu ze studia Android.
Udało mi się rozwiązać ten problem, obniżając wersję buildToolsVersion w ustawieniach oceny aplikacji: zmień wiersz {nazwa-modułu} /build.gradle
do
@Edit:
W Android Studio 2.1 przejdź do Plik-> Struktura projektu-> Aplikacja -> Wersja narzędzia kompilacji. Zmień to na 23.0.3
Wykonaj powyższą metodę tylko wtedy, gdy używasz java w wersji 7 iz jakiegoś powodu nie chcesz jeszcze aktualizować do java 8.
Mam nadzieję że to pomoże
źródło
Gradle Scripts >> build.gradle (aplikacja modułu)
Zmień buildToolsVersion „24.0.0” na buildToolsVersion „23.0.3”
źródło: doświadczenie
źródło
Początkowo obniżyłem ocenę
buildToolsVersion
z24.0.0 rc3
do23.0.3
, jak wskazał w odpowiedzi Rudy Kurniawan. Wtedy zauważyłem, że w ustawieniach projektu mam określony jdk 7. Zmieniłem to na jdk 8 i teraz narzędzia do budowania24.0.0 rc3
działają.Ważne jest również ustawienie opcji kompilacji na
java7
:źródło
Zainstalowałem Android Studio wraz z Xamarin Visual Studio (zostało już zainstalowane). Po instalacji (z wyłączeniem SDK, ponieważ były już zainstalowane) uruchomiłem Android Studio i pobrałem, zainstalowałem i dodałem brakujące SDK (po podaniu ścieżki do lokalizacji SDK). W rezultacie otrzymałem komunikat o błędzie podczas kompilacji
Jako rozwiązanie zainstalowałem
jdk-8u101-windows-i586.exe
bez JRE (ponieważ było już zainstalowane). Wcześniej wypróbowałem wersję x64, ale zniknęła ... Następnie musisz zmienić lokalizację Java Development Kit .Odbywa się to w programie Visual Studio, klikając Narzędzia> Opcje> Xamarin> Ustawienia systemu Android. Tutaj możesz przejść do właściwej lokalizacji. W moim przypadku tak było
C:\Program Files (x86)\Java\jdk1.8.0_101
.Na koniec wyczyść swój projekt i utwórz nową kompilację :-)
źródło
Określony problem:
jest spowodowany, gdy jest zadeklarowany wewnątrz pliku
build.gradle
,buildToolsVersion 24
a nie mamy zainstalowanej Java 8, która jest wymagana dla tej wersji . Aby rozwiązać ten problem, musimy zmienićbuildToolsVersion
z 24 na maksymalnie 23:W przyszłości musi być wymagana Java 8
Android Studio
, więc musimy zacząć używać Javy 8.źródło
Miałem ten sam problem z moją kompilacją IntelliJ Maven. Moim „rozwiązaniem” było przejście do narzędzi do kompilacji i usunięcie folderu narzędzi do kompilacji 24.0.0. Znalazłem to w
{android-sdk-location}/build-tools/
katalogu. Nie jest to rozwiązanie długoterminowe, ale powinno przynajmniej spowodować ponowne zbudowanie projektu. Aktualizacja do Java 8, jak wielu sugerowało, będzie lepsza w dłuższej perspektywie.źródło
Z tym problemem spotkałem się również podczas tworzenia nowego projektu w zaćmieniu.
Modyfikować
Dosgi.requiredJavaVersion=1.6
do
Dosgi.requiredJavaVersion=1.7
Mam nadzieję że to pomoże
źródło
Nikt tu nie mówi, to fakt, że przy Build Tools 24.0.0 wymagana jest Java 8, a większość ludzi ma wersję 1.6 lub 1.7.
Więc tak, ustawienie narzędzia kompilacji na 23.xx `` rozwiązałoby '' problem, ale główną przyczyną jest wersja Java w twoim systemie.
W dłuższej perspektywie możesz chcieć zaktualizować swoje środowisko programistyczne, aby używać JDK8, aby korzystać z nowych ulepszeń języka i kompilatora jack.
źródło
52 to kod JDK 8. Możesz to zobaczyć tutaj: http://javarevisited.blogspot.com/2015/05/fixing-unsupported-majorminor-version.html . Tak więc Gradle oczekuje, że będziesz mieć JDK 8 jako domyślną wersję Java na swoim komputerze. Najnowsze wersje Gradle dla Androida nie będą działać z Javą 7.
Rozwiązanie jest proste: ustaw Java 8 jako domyślną wersję jdk na twoim komputerze.
źródło
1.8
.Jestem na Androidzie Studio 2.0 i mam ten sam problem. Rozwiązanie dostarczone przez Rudy'ego Kurniawana rozwiązało ten problem. Plik, którego dotyczy problem, można zlokalizować poprzez:
„Projekt” -> „Android” -> „Skrypty Gradle” -> „build.gradle (Moduł: aplikacja)”
Okienko „ Projekt ” jest domyślnie po lewej stronie. Aby go znaleźć, sprawdź nazwy zakładek bocznych, kliknij je, a następnie użyj górnego rozwijanego pola, aby przejść do „ Android ”. Rozwiń drzewo w okienku, aby znaleźć plik docelowy. Kliknij dwukrotnie, aby edytować.
źródło
Przepraszamy za spóźnioną odpowiedź. Mam nadzieję, że pomoże to komuś innemu
Ten problem jest związany z pakietem SDK, a nie z pakietem JDK. Możesz sprawdzić informacje o swojej wersji pod adresem
Otrzymasz coś takiego
Jeśli używasz narzędzi podglądu do budowania, będziesz otrzymywać podobne błędy wszędzie.
Co zrobić teraz?
iść do
Wybierz wszystkie elementy w kanałach podglądu, w tym
Android SDK build tools
z rev24rc2
lub24rc4
(najnowszą)Kliknij
Delete 'n' packages
Jak wyłączyć kanał podglądu
W menedżerze SDK wybierz
Odznacz
Enable preview tools
I co
Powrót do kodu Wyczyść wszystko i odbuduj (w rzadkich przypadkach musisz wybrać narzędzia kompilacji ze strony ustawień projektu)
źródło
Dziękuję wszystkim za rozwiązanie.
Mógłbym rozwiązać ten sam problem, używając poniższego rozwiązania.
W moim projekcie dodałem jar, który powstał w Javie8. A mój projekt odnosił się do JRE 7. Kiedy zmieniłem JRE projektu na 8. Mój problem został rozwiązany.
Kroki: W eclipse kliknij prawym przyciskiem myszy nazwę projektu w eksploratorze projektów> ścieżka kompilacji> Biblioteki> kliknij wersję jre> kliknij edytuj> zainstalowane JRE> dodaj> standerd VM> wybierz ścieżkę kliknięcia strony głównej JRE (ścieżka powinna być localePath \ java \ jdk1 .8.0_25 \ jre)> podaj nazwę> zapisz> wybierz ten sam JRE dla projektu> zakończ> ok Odśwież / zbuduj projekt raz> spróbuj uruchomić plik java. powinno działać.
źródło
Otrzymujesz ten komunikat o błędzie na serwerze kompilacji Travis?
Poprawiłem mój Travis budować z buildToolsVersion „24.0.2” za pomocą tego
# travis build language: android jdk: - oraclejdk8 android: components: - tools - build-tools-24.0.2 - android-23 - add-on - extra script: - jdk_switcher use oraclejdk8 - ./gradlew assemble
źródło
W moim przypadku domyślny jdk to 1.7, a następnie zmieniłem go na 1.8, przechodząc do dokładnego folderu, w którym znajduje się zaktualizowany jdk.
źródło
Miałem ten sam problem i próbowałem zmienić wersję, czasami jest dla wersji Android Studio w Project> Gradle Scripts> build.gradle (Moduł: aplikacja) można zmienić wersję. Na przykład:
android { compileSdkVersion **23** buildToolsVersion **"23.0.3"** defaultConfig { applicationId "com.example.android.myapplication" minSdkVersion **19** targetSdkVersion **23** versionCode **1** versionName **"1.0"** }
źródło
Z tego pytania.
Możesz spróbować zmienić poziom kompilatora z powrotem na 1.7 w używanym IDE.
Jeśli korzystasz z Android Studio, możesz dodać to do swojego build.gradle
android { compileSdkVersion 19 buildToolsVersion "19.0.0" defaultConfig { minSdkVersion 7 targetSdkVersion 19 } compileOptions { sourceCompatibility JavaVersion.VERSION_1_7 targetCompatibility JavaVersion.VERSION_1_7 } }
Jeśli to nie pomoże, spróbuj sprawdzić odpowiedzi innych osób w powyższym linku i daj nam znać, co Ci pomogło.
źródło
Twoje narzędzia do kompilacji systemu Android nie są poprawnie zainstalowane. Spróbuj zainstalować inną wersję narzędzi do kompilacji i podaj tę wersję w pliku gradle. lub możesz przejść do tego katalogu
C: \ Users \\ AppData \ Local \ Android \ sdk \ build-tools
i zobacz, które narzędzia do kompilacji są zainstalowane. Spróbuj zmienić wersję narzędzia do budowania w pliku gradle i skompiluj aplikację, aby sprawdzić, czy działa.
Miałem wersje narzędzi do kompilacji 22.0.1, 23.0.02 i 24.0.0 i działała tylko stara wersja 22.0.1.
źródło: sam spróbowałem i zadziałało.
źródło
Ten problem wynika z faktu, że wersja narzędzia kompilacji i JDK nie będą ze sobą współpracować. Używałem JDK w wersji 7 z narzędziem do budowania 24.0.1. Oczywiście obniżenie wersji narzędzia do kompilacji może rozwiązać problem, ale nie jest to prawdziwa poprawka, ponieważ aktualizacja narzędzi do kompilacji w przyszłości ponownie go zepsuje.
Powinieneś upewnić się, że wersja narzędzia do budowania i JDK współpracują ze sobą. Zaktualizowałem moje narzędzie do kompilacji do najnowszej (24.0.1) i zainstalowałem jdk8. Upewnij się, że ustawiłeś JAVA_HOME na najnowszą, a następnie wypróbuj czystą kompilację.
źródło
Ten sam problem występuje poza Android Studio, podczas próby kompilacji dla Cordova przy użyciu sdk z wiersza poleceń (cordova build android).
Rozwiązanie dostarczone przez Rudy'ego działa również w tym przypadku. Po prostu nie obniżasz wersji Build Tools z Android Studio, ale robisz to za pomocą interfejsu użytkownika Android SDK Manager.
źródło
Właśnie napotkałem ten problem.
Przywrócenie z wersji „kanału podglądu” narzędzi SDK i narzędzi do kompilacji do najnowszej stabilnej wersji rozwiązało problem.
źródło
Zmiana,
com.android.tools.build:gradle:2.2.0-beta1
żebycom.android.tools.build:gradle:2.1.2
to naprawić.Moja wersja Android Studio to 2.1.2, być może dlatego
źródło
Najprostszym rozwiązaniem jest aktualizacja JDK do najnowszej wersji. Ponieważ Cordova obsługuje tylko najnowszy JDK.
1 . Przede wszystkim musisz zaktualizować swój Android SDK. Następnie,
2. Jeśli nie możesz zaktualizować za pomocą terminala, przejdź do centrum oprogramowania Linux destro i wyszukaj najnowsze (które chcesz zainstalować) i zainstaluj je.
Następnie ponownie uruchom kompilację Cordova .
To rozwiąże problem.
W moim przypadku zadziałało.
źródło
Musisz przejść do katalogu instalacyjnego zestawu SDK i upewnić się, że podkatalog / build-tools jest zgodny z katalogiem
buildToolsVersion
w pliku build.gradle aplikacji:źródło
Sprawdź, czy masz zainstalowaną najnowszą wersję zestawu SDK w
C:\Program Files\Java
lubC:\Program Files (x86)\Java
Następnie przejdź do VS2015 i postępuj zgodnie z narzędziami ścieżki - opcje - Xamarin - ustawienia systemu Android iw sekcji Lokalizacja JDK wybierz zmianę i przejdź do wersji, którą masz x64 lub x32.
źródło
Jestem na cordova, oto co zrobiłem:
- zmień nazwę swojego projektu na Androida, aby było miejsce na nowy
- zaktualizuj JAVA Development Kit do wersji 1.8 (najnowszej w czasie pisania tego)
- uruchom
cordova platform add android
Powinien teraz działać bez problemów. Skrót Twojej aplikacji ulegnie zmianie, więc jeśli używasz go np. Do logowania się za pomocą facbeook, będziesz musiał go zaktualizować
źródło
Miałem ten problem zbyt długo (SO itp. Nie pomogło) i dopiero go rozwiązałem (używając SDK 25).
-Plik local.properties proguard.dir var nie działał z ant; Podałem 5.3.2, ale wywołanie wiersza poleceń i podpisana kompilacja eksportu (zaćmienie) używały 4.7, z katalogu sdk (tylko 5+ obsługuje java 8)
Moim rozwiązaniem było zastąpienie słoików proguard (katalog android-sdk / tools / proguard / libs) w sdk aktualną (5+) wersją programu proguard.
źródło
Błąd unsupported-major-minor-version może być spowodowany nieobsługiwaną wersją JDK. Zaktualizuj JDK, przejdź do ustawień modułu i zmień ścieżkę JDK na nową. W większości przypadków naprawia błąd.
źródło
Miałem zainstalowane dwie wersje java jdk. Gdy wskazałem właściwą wersję java jdk w Plik-> Struktura projektu -> Lokalizacja SDK do najnowszej wersji, którą miałem w zmiennej środowiskowej JAVA_HOME, problem zniknął.
źródło