'android-24' requires JDK 1.8 or later to compile

后端 未结 8 2096
轮回少年
轮回少年 2021-02-01 00:12

I use Android Studio and recently got the error:

Error:Execution failed for task \':app:compileDebugJavaWithJavac\'. compileSdkVersion \'android-24\' re

相关标签:
8条回答
  • 2021-02-01 00:45

    Just an FYI I had this error with an Ionic project. All the commands came back pointing to the correct JDK and JAVA_HOME was set correctly.

    There was an entry in my PATH to JDK 1.7\bin, replacing that with the 1.8\bin fixed it for me.

    0 讨论(0)
  • 2021-02-01 00:46

    On Windows 10, I first checked Project Structure and it pointed to an old 1.7 jdk. I closed Android Studio then renamed the old jdks (and jre libraries for consistency) leaving the newest 1.8 library alone. When I restarted Android Studio and attempted to build the application it asked me for the Java JDK library and I gave the path to the newest 1.8 JDK library. On my system it was C:\Program Files\Java\jdk1.8.0_112.

    0 讨论(0)
  • 2021-02-01 00:47

    I installed latest jdk but it was using the older one until I did this:

    app rt-click >> module settings >> sdk location >> (old jdk path)
    

    Replace the old JDK path with your new jdk path.

    Works like a charm now :)

    0 讨论(0)
  • 2021-02-01 00:50

    In Android Studio open: File > Project Structure > SDK Location > Select jdk1.8.0_101.jdk > Home

    0 讨论(0)
  • 2021-02-01 00:58

    I was also running into the same issue from the command line on my Mac, but the answer was that JAVA_HOME was getting overridden. To track down where it is getting overridden first check java from the command line:

    $ 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)
    

    Then check which version of Java that Gradle is using:

    $ 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
    

    At this point, I still hadn't found the source of the problem. Did a little digging, and found that it was indeed overridden in my gradle.properties file even though it was showing Java 8 when I executed gradle -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
    

    To fix, I just deleted the java.home line from gradle.properties. Hopefully this helps if anyone else is running into the same issue from the command line.

    0 讨论(0)
  • 2021-02-01 00:59

    I was also running into the same issue from the command line on my Windows, it shows the same hint.

    Error:Execution failed for task ':app:compileDebugJavaWithJavac'. `compileSdkVersion 'android-24' requires JDK 1.8 or later to compile.`
    

    check JDK location in Project Structure.

    In Android Studio open: File > Project Structure > see if JDK location points to your JDK 1.8 directory.

    It should look like

    JDK Location
    C:\Program Files\Java\jdk1.8.0_91
    

    I already set the correct location to JDK.

    check the 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)
    

    check the 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
    

    JVM version should be 1.8. To fix it, we can add in the gradle.property In gradle.properties in the .gradle directory in your HOME_DIRECTORY set org.gradle.java.home=/path_to_jdk_directory. As for me, it is like:

    org.gradle.java.home=C:/Program Files/Java/jdk1.8.0_91
    

    To verify if it is set right, we can make a gradle build task.

    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
    
    0 讨论(0)
提交回复
热议问题