让Android studio支持java8
16lz
2021-01-23
一:只需要支持Lambda表达式
在app/build.gradle下添加
android { //设置JDK1.8 compileOptions { sourceCompatibility JavaVersion.VERSION_1_8 targetCompatibility JavaVersion.VERSION_1_8 }}buildscript { repositories { mavenCentral() } dependencies { classpath 'me.tatarka:gradle-retrolambda:3.2.5' }}repositories { mavenCentral()}//添加插件apply plugin: 'me.tatarka.retrolambda'
然后就可以使用Lambda表达式了,比如
new Thread(new Runnable() { public void run() { System.out.println("Run!"); } }).start();
可以简化成
new Thread(() ->System.out.println("Run!")).start();
Github
插件:retrolambda
二:Java 8和Jack编译
参考Android官网
android { ... defaultConfig { ... jackOptions { enabled true } } compileOptions { sourceCompatibility JavaVersion.VERSION_1_8 targetCompatibility JavaVersion.VERSION_1_8 }}
注意: 需要使用Android N 也就是API24,以下是官方原话:
To start using these features, you need to download and set up Android Studio 2.1 and the Android N Preview SDK, which includes the required Jack toolchain and updated Android Plugin for Gradle. If you haven’t yet installed the Android N Preview SDK, see Set Up to Develop for Android N.
开启jack编译后,不能使用apt插件,报异常:Error:Could not find property ‘options’ on task ‘:app:compileDebugJavaWithJack’.参考:google issues
补充
可以使用annotationProcessor代替apt插件,之后即可使用jack编译
更多相关文章
- Android 升级Android Studio升级3.5提示下载fastutil插件
- Android 使用正则表达式
- Android Studio常用插件
- Android Studio 常用插件收集
- 几款好用的Android Studio插件
- Android工程的gradle版本和gradle plugin插件对应关系
- Android studio 无法搜索插件
- Android 实现简单的插件化模块化.
- 部署Android SDK 和Eclipse 插件