How to enable Java 8 language features in Android studio

时光总嘲笑我的痴心妄想 提交于 2019-12-22 05:59:29

问题


Now release with Android Studio 2.4 Preview 4, it is now support Java 8 language features. Jack is no longer required, and need to disable Jack to use the improved Java 8 support built into the default toolchain.

Now we need to disable Jack and switch to the default toolchain. How enable Java 8 features to use in android studio project?


回答1:


Enable Java 8 Support:

To start using supported Java 8 language features, update the Android plugin to 2.4.0-alpha4 (or higher) and add the following to your module’s build.gradle file:

android {
  ...
  compileOptions {
    sourceCompatibility JavaVersion.VERSION_1_8
    targetCompatibility JavaVersion.VERSION_1_8
  }
}

Disable jackOptions:

We can disable Jack and switch to the default toolchain, by removing the jackOptions block from module’s build.gradle file:

android {
    ...
    defaultConfig {
        ...
        // Remove this block.
        jackOptions {
            enabled true
        }
    }

}

Note: If your project is using Jack, Retrolambda, or DexGuard, then Android studio default uses Java 8 support provided by those tool.

Disable Java 8 Support:

We can also disable Java 8 features in your project in case you are facing any issue related Java 8. We can update gradle.properties file by adding below line to disable Java 8 features:

android.enableDesugar=false

Check Use Java 8 language features for more details about Java 8 features.




回答2:


I know this has been already answered, but after the new Gradle and android studio update, jackOptions is deprecated.

 android {
      .....

        defaultConfig {
        ..........
            //remove jackOptions and add
            android.compileOptions.sourceCompatibility 1.8
            android.compileOptions.targetCompatibility 1.8

        }
        // Keep the following configuration in order to target Java 8.
         compileOptions {

           sourceCompatibility JavaVersion.VERSION_1_8
           targetCompatibility JavaVersion.VERSION_1_8
       }
  }



回答3:


Simple process -

Right click on Project > Open Module Setting (F4) > Modules (app) >

Select -

Source Compatibility - 1.8
Target Compatibility - 1.8



回答4:


Clean answer-

Just add following to app level build.gradle and Sync

android {
  ...
  compileOptions {
    sourceCompatibility JavaVersion.VERSION_1_8
    targetCompatibility JavaVersion.VERSION_1_8
  }
}



回答5:


android {
  ...
  compileOptions {
    sourceCompatibility JavaVersion.VERSION_1_8
    targetCompatibility JavaVersion.VERSION_1_8
  }
}

And enable jackOption in your same module gradle

 defaultConfig {
            jackOptions {
            enabled true
        }
    }

android {
    compileSdkVersion 25
    buildToolsVersion "25.0.2"
    defaultConfig {
        applicationId "****************"
        minSdkVersion 15
        targetSdkVersion 25
        versionCode 1
        versionName "1.0"
        testInstrumentationRunner "android.support.test.runner.AndroidJUnitRunner"
        jackOptions {
            enabled true
        }
    }
    buildTypes {
        release {
            minifyEnabled false
            proguardFiles getDefaultProguardFile('proguard-android.txt'), 'proguard-rules.pro'
        }
    }


    compileOptions {
        targetCompatibility JavaVersion.VERSION_1_8
        sourceCompatibility JavaVersion.VERSION_1_8
    }
}



来源:https://stackoverflow.com/questions/43423057/how-to-enable-java-8-language-features-in-android-studio

易学教程内所有资源均来自网络或用户发布的内容,如有违反法律规定的内容欢迎反馈
该文章没有解决你所遇到的问题?点击提问,说说你的问题,让更多的人一起探讨吧!