Android studio 用Java8编译Android Studio项目?

Android studio 用Java8编译Android Studio项目?,android-studio,java-8,Android Studio,Java 8,我正在尝试使用Java8编译一个项目 我已经设置了正确的jdk,如图所示: 还更改了目标版本: 但我还是犯了一个错误: 编译SDK版本“android-24”需要JDK 1.8或更高版本才能编译。 我错在哪里 编辑:我在Ubuntu 12.04上,当转到JDK设置时,您可以: 添加“android应用程序”模块build.gradle compileOptions { sourceCompatibility JavaVersion.VERSION_1_8 targetComp

我正在尝试使用Java8编译一个项目

我已经设置了正确的jdk,如图所示:

还更改了目标版本:

但我还是犯了一个错误: 编译SDK版本“android-24”需要JDK 1.8或更高版本才能编译。

我错在哪里


编辑:我在Ubuntu 12.04上,当转到JDK设置时,您可以:

添加“android应用程序”模块build.gradle

compileOptions {
    sourceCompatibility JavaVersion.VERSION_1_8
    targetCompatibility JavaVersion.VERSION_1_8
}
在gradle.properties中设置sdk路径

org.gradle.java.home=/path_to_java_sdk_8/jdk1.8
同时对照1.7/1.8检查.idea/modules/compiler.xml

<?xml version="1.0" encoding="UTF-8"?>
<project version="4">
  <component name="CompilerConfiguration">
      ...
    <bytecodeTargetLevel target="1.8">
      <module name="app" target="1.7" />
    </bytecodeTargetLevel>
  </component>

...

misc.xml

<?xml version="1.0" encoding="UTF-8"?>
  <project version="4">
    ....
   <component name="ProjectRootManager" version="2" languageLevel="JDK_1_7" 
              default="false" assert-keyword="true" 
              jdk-15="true" project-jdk-name="1.8" project-jdk-type="JavaSDK">
     <output url="file://$PROJECT_DIR$/build/classes" />
  </component>
  <component name="ProjectType">
    <option name="id" value="Android" />
  </component>
 </project>

....
顺便说一句:如果你想编译AgainstaJava1.8,你需要使用“jack”
请参见

jdk的路径应该更加具体。在Mac中,我有
jdk1.8.0\u 92.jdk/Contents/Home
@juancruzzoler我的路径是正确的,因为我运行的是org.gradle.java.Home=/path\u to\u java\u sdk\u 8/jdk1.8设置的不可能的重复!谢谢@埃里克-我很高兴我帮了忙-如果你也能投赞成票那就太好了:)
android {
    compileSdkVersion 28
    buildToolsVersion = '28.0.3'
    defaultConfig {
        applicationId "your package name"
        minSdkVersion 21
        targetSdkVersion 28
        versionCode 1
        versionName "1.0"
        testInstrumentationRunner "android.support.test.runner.AndroidJUnitRunner"
    }
    buildTypes {
        release {
            minifyEnabled false
            proguardFiles getDefaultProguardFile('proguard-android-optimize.txt'), 'proguard-rules.pro'
        }
    }
    compileOptions {
        sourceCompatibility JavaVersion.VERSION_1_8
        targetCompatibility JavaVersion.VERSION_1_8
    }
}