Ich benutze Android Studio und habe kürzlich den Fehler erhalten:
Fehler: Ausführung für Task ': app: compileDebugJavaWithJavac' fehlgeschlagen. compileSdkVersion 'android-24' erfordert JDK 1.8 oder höher zum Kompilieren.
Aber ich habe JDK 1.8 bereits installiert:
: \ Users ..> Java-Version
Java-Version "1.8.0_91" Java (TM) SE-Laufzeitumgebung
(Build 1.8.0_91-b15) Java HotSpot (TM) 64-Bit-Server-VM
(Build 25.91-b15, gemischter Modus)
Wie man es repariert? Vielen Dank
java
android
android-studio
TD Nguyen
quelle
quelle
Antworten:
Öffnen Sie in Android Studio:
File
>>Project Structure
Überprüfen Sie, ob der JDK-Speicherort auf Ihr JDK 1.8-Verzeichnis verweist.Hinweis: Sie können verwenden
compileSdkVersion 24
quelle
jdk.table.xml
wie unter stackoverflow.com/a/38067170/2914140 beschrieben löschen . In einer Java-Welt ist alles so schrecklich.Ich habe seit Tagen das gleiche Problem. Ich habe eine Lösung gefunden, die unter Windows funktioniert hat. (Ich habe auch Umgebungsvariablen festgelegt, weiß aber nicht, ob sie benötigt werden.)
Fügen Sie diese Zeilen zur Datei build.gradle hinzu:
android { ... defaultConfig { ... jackOptions { enabled true } } compileOptions { targetCompatibility 1.8 sourceCompatibility 1.8 } }
Quelle: https://code.google.com/p/android/issues/detail?id=203850
quelle
Ich habe das neueste JDK installiert, aber es wurde das ältere verwendet, bis ich dies tat:
app rt-click >> module settings >> sdk location >> (old jdk path)
Ersetzen Sie den alten JDK-Pfad durch Ihren neuen JDK-Pfad.
Funktioniert jetzt wie ein Zauber :)
quelle
Nur zu Ihrer Information, ich hatte diesen Fehler bei einem Ionic-Projekt. Alle Befehle zeigten auf das richtige JDK und JAVA_HOME wurde korrekt eingestellt.
In meinem PFAD gab es einen Eintrag für JDK 1.7 \ bin, der durch den durch 1.8 \ bin ersetzten Eintrag für mich behoben wurde.
quelle
Ich hatte auch das gleiche Problem über die Befehlszeile auf meinem Mac, aber die Antwort war, dass
JAVA_HOME
es überschrieben wurde. Um herauszufinden, wo es überschrieben wird, überprüfen Sie zuerst Java über die Befehlszeile:$ java -version java version "1.8.0_92" Java(TM) SE Runtime Environment (build 1.8.0_92-b14) Java HotSpot(TM) 64-Bit Server VM (build 25.92-b14, mixed mode)
Überprüfen Sie dann, welche Java-Version Gradle verwendet:
$ gradle -version ------------------------------------------------------------ Gradle 2.13 ------------------------------------------------------------ Build time: 2016-04-25 04:10:10 UTC Build number: none Revision: 3b427b1481e46232107303c90be7b05079b05b1c Groovy: 2.4.4 Ant: Apache Ant(TM) version 1.9.6 compiled on June 29 2015 JVM: 1.8.0_92 (Oracle Corporation 25.92-b14) OS: Mac OS X 10.11.5 x86_64
Zu diesem Zeitpunkt hatte ich die Ursache des Problems noch nicht gefunden. Habe ein wenig gegraben und festgestellt, dass es tatsächlich in meiner
gradle.properties
Datei überschrieben wurde , obwohl es Java 8 zeigte, als ich es ausführtegradle -version
:org.gradle.daemon=true org.gradle.java.home=/Library/Java/JavaVirtualMachines/jdk1.7.0_71.jdk/Contents/Home org.gradle.jvmargs=-XX:MaxPermSize=512m -XX:-UseSplitVerifier -Xms512m -Xmx6144m
Zur Behebung habe ich gerade die
java.home
Zeile aus gelöschtgradle.properties
. Hoffentlich hilft dies, wenn jemand anderes über die Befehlszeile auf dasselbe Problem stößt.quelle
Öffnen Sie in Android Studio: Datei> Projektstruktur> SDK-Speicherort> Wählen Sie jdk1.8.0_101.jdk> Startseite aus
quelle
Ich habe auch das gleiche Problem über die Befehlszeile unter Windows festgestellt, es zeigt den gleichen Hinweis.
Error:Execution failed for task ':app:compileDebugJavaWithJavac'. `compileSdkVersion 'android-24' requires JDK 1.8 or later to compile.`
Check
JDK location
inProject Structure
.Es sollte so aussehen
JDK Location C:\Program Files\Java\jdk1.8.0_91
Ich habe bereits den richtigen Speicherort auf JDK eingestellt.
Überprüfen Sie die Java-Version
D:\AndroidSelfTrainingProject\CustomBuildIdDemo>java -version java version "1.8.0_91" Java(TM) SE Runtime Environment (build 1.8.0_91-b14) Java HotSpot(TM) 64-Bit Server VM (build 25.91-b14, mixed mode)
Überprüfen Sie die Gradle-Version
.D:\AndroidSelfTrainingProject\CustomBuildIdDemo>gradle -v ------------------------------------------------------------ Gradle 2.10 ------------------------------------------------------------ Build time: 2015-12-21 21:15:04 UTC Build number: none Revision: 276bdcded730f53aa8c11b479986aafa58e124a6 Groovy: 2.4.4 Ant: Apache Ant(TM) version 1.9.3 compiled on December 23 2013 JVM: 1.7.0_79 (Oracle Corporation 24.79-b02) OS: Windows 7 6.1 amd64
Die JVM-Version sollte 1.8 sein. Um dies zu beheben, können wir die gradle.property In
gradle.properties
im.gradle
Verzeichnis in IhremHOME_DIRECTORY
Set hinzufügenorg.gradle.java.home=/path_to_jdk_directory
. Was mich betrifft, ist es wie:org.gradle.java.home=C:/Program Files/Java/jdk1.8.0_91
Um zu überprüfen, ob es richtig eingestellt ist, können wir eine
gradle build
Aufgabe erstellen.D:\AndroidSelfTrainingProject\CustomBuildIdDemo>gradle build To honour the JVM settings for this build a new JVM will be forked. Please consider using the daemon : https://docs.gradle.org/2.10/userguide/gradle_daemon.html. To run dex in process, the Gradle daemon needs a larger heap. It currently has approximately 910 MB. For faster builds, increase the maximum heap size for the Gradle daemon to more than 2048 MB. To do this set org.gradle.jvmargs=-Xmx2048M in the project gradle.properties. For more information see https://docs.gradle.org/current/userguide/build_environment.html
quelle
Unter Windows 10 habe ich zuerst die Projektstruktur überprüft und sie zeigte auf ein altes 1.7-JDK. Ich habe Android Studio geschlossen und dann die alten JDKS (und JRE-Bibliotheken aus Gründen der Konsistenz) umbenannt, wobei die neueste 1.8-Bibliothek in Ruhe gelassen wurde. Als ich Android Studio neu startete und versuchte, die Anwendung zu erstellen, fragte ich nach der Java JDK-Bibliothek und gab den Pfad zur neuesten 1.8 JDK-Bibliothek an. Auf meinem System war es C: \ Programme \ Java \ jdk1.8.0_112.
quelle