鍍金池/ 問答/Android/ Android Studio 3.0 使用Java8 必須打開Jack?

Android Studio 3.0 使用Java8 必須打開Jack?

我以為在Android Studio 3.0中使用Java8,不需要打開jack或者使用 retro-lambda,只需要在android節(jié)點下配置


    compileOptions {
        sourceCompatibility JavaVersion.VERSION_1_8
        targetCompatibility JavaVersion.VERSION_1_8
    }

就可以了。
但是實際卻不行,會提示下面這個報錯

Error:Jack is required to support java 8 language features. Either enable Jack or remove sourceCompatibility JavaVersion.VERSION_1_8.

所以我必須再添加

 defaultConfig {
        //...
        jackOptions {
            enabled true
        }
    }

這樣不又是打開Jack?,雖然這樣可以,而且編譯速度也不慢,但是為什么和官網(wǎng)介紹的不一樣呢?官網(wǎng)介紹

這是我的AS版本

Android Studio 3.0
Build #AI-171.4408382, built on October 21, 2017
JRE: 1.8.0_152-release-915-b08 x86_64
JVM: OpenJDK 64-Bit Server VM by JetBrains s.r.o
Mac OS X 10.12.6

這是我的build.gradle配置

apply plugin: 'com.android.application'

android {
    compileSdkVersion 26
    buildToolsVersion "26.0.2"
    defaultConfig {
        applicationId "com.example.a18.path"
        minSdkVersion 16
        targetSdkVersion 26
        versionCode 1
        versionName "1.0"
        jackOptions {
            enabled true
        }
    }
    buildTypes {
        release {
            minifyEnabled false
            proguardFiles getDefaultProguardFile('proguard-android.txt'), 'proguard-rules.pro'
        }
    }
    compileOptions {
        sourceCompatibility JavaVersion.VERSION_1_8
        targetCompatibility JavaVersion.VERSION_1_8
    }


}

dependencies {
    compile 'com.android.support:appcompat-v7:26.+'
    compile 'com.android.support.constraint:constraint-layout:1.0.2'
}
回答
編輯回答
舊酒館

Android Studio3.0天然直接支持java 8,但是安卓插件必須在3.0.0或者更高。看看你項目build.gradle classpath 'com.android.tools.build:gradle:version'version是不是高于3.0的。
官網(wǎng)鏈接
給你貼一下我的:

buildscript {
    repositories {
        jcenter()
        google()
    }
    dependencies {
        classpath 'com.android.tools.build:gradle:3.0.1'
        // NOTE: Do not place your application dependencies here; they belong
        // in the individual module build.gradle files
    }
}

2017年7月23日 00:02