Android(安卓)Studio对于Java8特性的支持
16lz
2021-12-04
Android Studio对于Java8特性的支持
Android Studio从2.1开始官方通过Jack支持Java8,从而使用Lambda等特性。
一 Android Studio 3.0版本之前配置
android { ... defaultConfig { ... jackOptions { enabled true } } compileOptions { sourceCompatibility JavaVersion.VERSION_1_8 targetCompatibility JavaVersion.VERSION_1_8 } ...}
如果没有打开jackOptions的配置,那么会提示如下错误:
Error:Jack is required to support java 8 language features. Either enable Jack or remove sourceCompatibility JavaVersion.VERSION_1_8.
但是如果打开jackOptions,意味着ButterKnife,Dagger等基于APT的注解框架将无法使用。会提示如下错误:
Error:Could not find property 'options' on task ':app:compileDebugJavaWithJack'
解决方法
使用第三方的Java8兼容插件,retrolambda。
在project的根build.gradle里添加:
dependencies { classpath 'me.tatarka:gradle-retrolambda:3.2.5'}
然后在module的build.gradle里添加:
apply plugin: 'me.tatarka.retrolambda'
当然下面compileOptions是少不了的:
android { ... compileOptions { sourceCompatibility JavaVersion.VERSION_1_8 targetCompatibility JavaVersion.VERSION_1_8 } ...}
二 Android Studio 3.0版本之后配置
android { ... compileOptions { sourceCompatibility JavaVersion.VERSION_1_8 targetCompatibility JavaVersion.VERSION_1_8 } ...}
更多相关文章
- android(2.0以后版本) 中读取联系人和通话记录
- 【收藏】Android开源项目和 框架
- 布局技巧:使用ViewStub
- Android(安卓)TextView 支持的HTML标签
- Android(安卓)报错加入第三方库报错
- android studio中support与androidx的新旧对比
- Android: Support Libraries for Android.
- 布局技巧:使用ViewStub
- 史上最好用的Android全量版本更新库XUpdate使用指南